petite question sur le Range

awa123

XLDnaute Occasionnel
Bonjour,

J'essaie de comprendre le bout de code suivant

Code:
Sheets("nom de la feuille").Select
nombre = Sheets("nom de la feuille").UsedRange.Rows.Count

    For Each cel In Range("G2:G" & nombre)
Next

à quoi sert le fait de rajouter "& nombre" dans le range : Range("G2:G" & nombre)

de toute façon il va considérer toutes les cellule de la colonne "G" à partir de "G2" donc pourquoi rajouter le nombre totale de ligne qu'il a compté juste avant?

merci beaucoup :)
 

Misange

XLDnaute Barbatruc
Re : petite question sur le Range

Bonjour

Non excel ne va pas "de toute façon" considérer toutes les cellules de la colonne G à partir de G2
G2:G est une adresse qui est incomplète et n'existe pas.
G:G oui : c'est toute la colonne G
Ici G2:G & nombre va se traduire par exemple en G2:G100 et seule cette plage sera scannée. Il faut absolument éviter de scanner toute une colonne, surtout avec les versions 2007 et + où le nombre de lignes est très grand. Cela prend du temps et consomme très vite beaucoup de mémoire pour rien.

De même d'ailleurs dans le code que tu donnes, il faut absolument éviter de sélectionner des objets (feuilles, cellules...) pour rien. Ce n'est pas du tout nécessaire par exemple de sélectionner la feuille 1 pour travailler dessus. Il suffit de dire par exemple :

Code:
For each c in sheets("feuil1").range("G2:G100")
' ici le code qui dit ce qu'il faut faire sur ces cellules
next

sans avoir besoin au préalable de sélectionner cette feuille 1

PLus d'infos sur les range ici
Ce lien n'existe plus
 

Discussions similaires

Réponses
2
Affichages
171

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 393
Messages
2 088 006
Membres
103 696
dernier inscrit
lgerbaud