|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||||||||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Question récurrente s'il en est : "Comment parcourir une colonne, une ligne, une plage de cellules ?"
Réponse certainement données dans la FAQ, je viens cependant proposer deux méthodes, celle utilisant la/les boucles For ... Next et celle utilisant la boucle For each ... Next Exemple 1 Parcours simple des cellules d'une colonne donnée, ici la colonne 1, à l'aide d'une boucle For ... Next sur le numéro de ligne de la colonne. Code :
Exemple 1 (bis) (code seul simplifié) Parcours simple des cellules d'une Colonne déterminée, ligne après ligne Code :
Parcours simple des cellules d'une Ligne déterminée, colonne après colonne Code :
Seconde méthode utilisable : La foucle For each ... Next L'exemple ci-dessous lit chaque cellule d'une seule colonne NoCol1 = 1 ; NoCol2 = 1 On constate immédiatement que le code suivant est plus lourd que les précédents (Exemple 1 et 2) S'il est donné malgré tout c'est afin de conduire aux exemples suivants en abordant la notion de plage de données Code :
La même méthode permet de parcourir chaque cellule d'une plage de données. L'exemple ci-après lit les cellules d'une plage de données prè-déterminée Exemple : Adresse de la plage : "B3:E15" Les données seront lues colonne après colonne pour une ligne, puis ligne après ligne : Ligne1, Colonne1 ; Ligne1, Colonne2 ; Ligne1, Colonne3 ; ... puis Ligne2, Colonne1 ; Ligne2, Colonne2 ; Ligne2, Colonne3 ; ... etc. Code :
L'exemple suivant, utilise la propriété UsedRange pour lire toutes les cellules de la plage de données d'une feuille de calculs Ici aussi, les données sont lues colonne après colonne pour une ligne, puis ligne après ligne : Code :
Cet exemple réalise la même opération en utilisant deux boucles imbriquées pour une lecture colonne après colonne pour une ligne, puis ligne après ligne. Code :
Une explication sur l'utilisation de Split(FL1.UsedRange.Address, "$")(4) : Worksheets("Feuil1").UsedRange.address donne l'adresse de la plage de données sous la forme "A1:" & DernièreColonne & dernièreLigne" Par exemple "$A$1:$H$75" En réalité on utilisera Split(Worksheets("Feuil1").UsedRange.address, "$") ou Split(FL1.UsedRange.address, "$") En utilisant "$" comme séparateur de données, Split("$A$1:$H$75", "$") crée un tableau de taille 5 (0 à 4) de cette adresse Exemple : Code :
Exemple : Code :
|
||||||||||||||||||
|
|
50
|
|
|
#2 | ||
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 963 ![]() |
Bonjour,
super le code que tu a laissé, il m'aide beaucoup par contre une partie que je ne comprend pas, Code :
|
||
|
|
00
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() Dominique LEMAIRESalarié Champagne Inscription : décembre 2006 Messages : 2 636 ![]() |
Bonjour à tou(te)s, ouskel'n'or,
Une façon inédite (pour moi) de parcourir les cellules avec Split, Bravo ! Cordialement,
__________________
Dom De Anomaly Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com