Cela peut ne pas aider à répondre à votre question directement, mais est quelque chose que j'ai trouvé utile lorsque vous essayez de travailler avec des gammes dynamiques qui peuvent vous aider.
On suppose que dans votre feuille de calcul, vous avez les numéros 100 à 108 dans les cellules A1: C3:
A B C
1 100 101 102
2 103 104 105
3 106 107 108
ensuite pour sélectionner toutes les cellules que vous pouvez utiliser la propriété CurrentRegion
:
Sub SelectRange()
Dim dynamicRange As Range
Set dynamicRange = Range("A1").CurrentRegion
End Sub
L'avantage de ceci est que si vous ajoutez de nouvelles lignes ou colonnes à votre bloc de nombres (par exemple 109, 110, 111) alors CurrentRegion référencera toujours la gamme agrandie (dans ce cas A1: C4).
J'ai beaucoup utilisé CurrentRegion dans mon code VBA et je trouve qu'il est très utile lorsque vous travaillez avec des plages de taille dynmaciale. En outre, il évite d'avoir des gammes de codes durs dans votre code. Pour finir, dans mon code, vous verrez que j'ai utilisé A1 comme cellule de référence pour CurrentRegion. Cela fonctionnera aussi quelle que soit la cellule que vous référencez (essayez: remplacer A1 par B2 par exemple). La raison en est que CurrentRegion sélectionne toutes les cellules contiguës en fonction de la cellule de référence.
App.ActiveCell;) –