Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Sub test1() For y = 1 To Range("A5:B6").Rows.Count For x = 1 To Range("A5:B6").Columns.Count MsgBox Range("A5:B6")(x, y).Address Next x Next y End Sub
Cordialement. Daniel "Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
Bonjour.
Essaie :
Sub test1()
For y = 1 To Range("A5:B6").Rows.Count
For x = 1 To Range("A5:B6").Columns.Count
MsgBox Range("A5:B6")(x, y).Address
Next x
Next y
End Sub
Cordialement.
Daniel
"Brunos" <pasdemail@moi.mezig> a écrit dans le message de news:
eh4Yn7KaIHA.5980@TK2MSFTNGP04.phx.gbl...
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la progression
se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs A1,
B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Sub test1() For y = 1 To Range("A5:B6").Rows.Count For x = 1 To Range("A5:B6").Columns.Count MsgBox Range("A5:B6")(x, y).Address Next x Next y End Sub
Cordialement. Daniel "Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
JPMonnier
Bonjour, Cette petite sub fait la chose Sub ForEach() nbcol = 2 For x = 1 To nbcol For Each cell In Sheets(1).Columns(x).Cells If cell = "" Then Exit For r = cell MsgBox r ' a remplacer par appel d'une autre sub Next Next End Sub
-- Cordialement
"Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
Bonjour,
Cette petite sub fait la chose
Sub ForEach()
nbcol = 2
For x = 1 To nbcol
For Each cell In Sheets(1).Columns(x).Cells
If cell = "" Then Exit For
r = cell
MsgBox r ' a remplacer par appel d'une autre sub
Next
Next
End Sub
--
Cordialement
jpmonnier-no-spam@neuf.fr
"Brunos" <pasdemail@moi.mezig> a écrit dans le message de
news:eh4Yn7KaIHA.5980@TK2MSFTNGP04.phx.gbl...
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la progression
se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs A1,
B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Bonjour, Cette petite sub fait la chose Sub ForEach() nbcol = 2 For x = 1 To nbcol For Each cell In Sheets(1).Columns(x).Cells If cell = "" Then Exit For r = cell MsgBox r ' a remplacer par appel d'une autre sub Next Next End Sub
-- Cordialement
"Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
JB
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2]))
MsgBox c
Next
JB
On 6 fév, 11:56, "Brunos" <pasdem...@moi.mezig> wrote:
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
MichDenis
Imbrication de 2 boucles... d'abord une boucle sur les colonnes suivi d'ne boucle sur chacune des cellules de la colonne
'------------------------- Sub test() Dim Col As Range, C As Range For Each Col In Range("A1:B2").Columns For Each C In Col.Cells x = C.Value Next Next End Sub '-------------------------
"Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
Imbrication de 2 boucles...
d'abord une boucle sur les colonnes
suivi d'ne boucle sur chacune des cellules de la colonne
'-------------------------
Sub test()
Dim Col As Range, C As Range
For Each Col In Range("A1:B2").Columns
For Each C In Col.Cells
x = C.Value
Next
Next
End Sub
'-------------------------
"Brunos" <pasdemail@moi.mezig> a écrit dans le message de news:
eh4Yn7KaIHA.5980@TK2MSFTNGP04.phx.gbl...
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Imbrication de 2 boucles... d'abord une boucle sur les colonnes suivi d'ne boucle sur chacune des cellules de la colonne
'------------------------- Sub test() Dim Col As Range, C As Range For Each Col In Range("A1:B2").Columns For Each C In Col.Cells x = C.Value Next Next End Sub '-------------------------
"Brunos" a écrit dans le message de news:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos
JB
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
t = Timer
For Each c In
Application.Transpose(Application.Transpose([A1:Z2000]))
tot = tot + c
Next
MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer
For Each c In [A1:Z2000]
tot = tot + c
Next
MsgBox Timer - t
JB
On 6 fév, 13:39, JB <boisgont...@hotmail.com> wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2]))
MsgBox c
Next
JB
On 6 fév, 11:56, "Brunos" <pasdem...@moi.mezig> wrote:
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Merci
--
Brunos- Masquer le texte des messages précédents -
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Jacky
Bonsoir JB
Cette boucle est 5 fois plus rapide que: Impressionnent.
Chez moi: 0.03 seconde et 0.2
-- Salutations JJ
"JB" a écrit dans le message de news:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir JB
Cette boucle est 5 fois plus rapide que:
Impressionnent.
Chez moi:
0.03 seconde
et
0.2
--
Salutations
JJ
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
57e02449-c43a-4314-bc3e-1421cc0914db@d70g2000hsb.googlegroups.com...
t = Timer
For Each c In
Application.Transpose(Application.Transpose([A1:Z2000]))
tot = tot + c
Next
MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer
For Each c In [A1:Z2000]
tot = tot + c
Next
MsgBox Timer - t
JB
On 6 fév, 13:39, JB <boisgont...@hotmail.com> wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2]))
MsgBox c
Next
JB
On 6 fév, 11:56, "Brunos" <pasdem...@moi.mezig> wrote:
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Merci
--
Brunos- Masquer le texte des messages précédents -
Cette boucle est 5 fois plus rapide que: Impressionnent.
Chez moi: 0.03 seconde et 0.2
-- Salutations JJ
"JB" a écrit dans le message de news:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
JB
Bonsoir,
Explication: Application.Transpose transforme le champ en tableau mémoire.
JB
On 6 fév, 18:42, "Jacky" wrote:
Bonsoir JB
Cette boucle est 5 fois plus rapide que:
Impressionnent. Chez moi: 0.03 seconde et 0.2
-- Salutations JJ
"JB" a écrit dans le message de news:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Explication: Application.Transpose transforme le champ en tableau
mémoire.
JB
On 6 fév, 18:42, "Jacky" <Dup...@marcel.fr> wrote:
Bonsoir JB
Cette boucle est 5 fois plus rapide que:
Impressionnent.
Chez moi:
0.03 seconde
et
0.2
--
Salutations
JJ
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
57e02449-c43a-4314-bc3e-1421cc091...@d70g2000hsb.googlegroups.com...
t = Timer
For Each c In
Application.Transpose(Application.Transpose([A1:Z2000]))
tot = tot + c
Next
MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer
For Each c In [A1:Z2000]
tot = tot + c
Next
MsgBox Timer - t
JB
On 6 fév, 13:39, JB <boisgont...@hotmail.com> wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2]))
MsgBox c
Next
JB
On 6 fév, 11:56, "Brunos" <pasdem...@moi.mezig> wrote:
Bonjour,
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Merci
--
Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
Explication: Application.Transpose transforme le champ en tableau mémoire.
JB
On 6 fév, 18:42, "Jacky" wrote:
Bonsoir JB
Cette boucle est 5 fois plus rapide que:
Impressionnent. Chez moi: 0.03 seconde et 0.2
-- Salutations JJ
"JB" a écrit dans le message de news:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
On 6 fév, 13:39, JB wrote:
Bonjour,
For Each c In Application.Transpose(Application.Transpose([A1:B2])) MsgBox c Next
JB
On 6 fév, 11:56, "Brunos" wrote:
Bonjour, Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Merci -- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Brunos
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb. D'après mes tests, Application.Transpose récupère la valeur de chaque cellule, mais c n'est plus un objet range, juste un variant. Donc on ne peut pas travailler sur chaque cellule, affecter une valeur ou mettre un format par exemple. C'est une méthode très rapide, mais juste pour la lecture d'une plage. D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne s'annule pas ?
-- Brunos
t = Timer
For Each c In
Application.Transpose(Application.Transpose([A1:Z2000]))
tot = tot + c
Next
MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer
For Each c In [A1:Z2000]
tot = tot + c
Next
MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb.
D'après mes tests, Application.Transpose récupère la valeur de chaque
cellule, mais c n'est plus un objet range, juste un variant. Donc on ne
peut pas travailler sur chaque cellule, affecter une valeur ou mettre
un format par exemple.
C'est une méthode très rapide, mais juste pour la lecture d'une plage.
D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne
s'annule pas ?
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb. D'après mes tests, Application.Transpose récupère la valeur de chaque cellule, mais c n'est plus un objet range, juste un variant. Donc on ne peut pas travailler sur chaque cellule, affecter une valeur ou mettre un format par exemple. C'est une méthode très rapide, mais juste pour la lecture d'une plage. D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne s'annule pas ?
-- Brunos
JB
-Application.Transpose transpose un champ en 'tableau mémoire' et ne permet que l'accès à la valeur en lecture (cas fréquent -avec un seul Application.Transpose (le rapport de vitesse de lecture est 15) -Il faut 2 application.Transpose parce qu'une boucle For Each sur un 'tableau mémoire' parcours dans le sens colonne/Ligne.
JB
On 6 fév, 20:42, Brunos wrote:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb. D'après mes tests, Application.Transpose récupère la valeur de chaqu e cellule, mais c n'est plus un objet range, juste un variant. Donc on ne peut pas travailler sur chaque cellule, affecter une valeur ou mettre un format par exemple. C'est une méthode très rapide, mais juste pour la lecture d'une plage. D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne s'annule pas ?
-- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
-Application.Transpose transpose un champ en 'tableau mémoire' et ne
permet que l'accès à la valeur en lecture (cas fréquent -avec un seul
Application.Transpose (le rapport de vitesse de lecture est 15)
-Il faut 2 application.Transpose parce qu'une boucle For Each sur un
'tableau mémoire' parcours dans le sens colonne/Ligne.
JB
On 6 fév, 20:42, Brunos <pasdem...@moi.mezig> wrote:
t = Timer
For Each c In
Application.Transpose(Application.Transpose([A1:Z2000]))
tot = tot + c
Next
MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer
For Each c In [A1:Z2000]
tot = tot + c
Next
MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb.
D'après mes tests, Application.Transpose récupère la valeur de chaqu e
cellule, mais c n'est plus un objet range, juste un variant. Donc on ne
peut pas travailler sur chaque cellule, affecter une valeur ou mettre
un format par exemple.
C'est une méthode très rapide, mais juste pour la lecture d'une plage.
D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne
s'annule pas ?
--
Brunos- Masquer le texte des messages précédents -
-Application.Transpose transpose un champ en 'tableau mémoire' et ne permet que l'accès à la valeur en lecture (cas fréquent -avec un seul Application.Transpose (le rapport de vitesse de lecture est 15) -Il faut 2 application.Transpose parce qu'une boucle For Each sur un 'tableau mémoire' parcours dans le sens colonne/Ligne.
JB
On 6 fév, 20:42, Brunos wrote:
t = Timer For Each c In Application.Transpose(Application.Transpose([A1:Z2000])) tot = tot + c Next MsgBox Timer - t
Cette boucle est 5 fois plus rapide que:
t = Timer For Each c In [A1:Z2000] tot = tot + c Next MsgBox Timer - t
JB
Ta méthode est très séduisante, mais ya un pb. D'après mes tests, Application.Transpose récupère la valeur de chaqu e cellule, mais c n'est plus un objet range, juste un variant. Donc on ne peut pas travailler sur chaque cellule, affecter une valeur ou mettre un format par exemple. C'est une méthode très rapide, mais juste pour la lecture d'une plage. D'autre part pourquoi imbriquer 2x transpose ? Est-ce que ça ne s'annule pas ?
-- Brunos- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Brunos
Imbrication de 2 boucles... d'abord une boucle sur les colonnes suivi d'ne boucle sur chacune des cellules de la colonne
'------------------------- Sub test() Dim Col As Range, C As Range For Each Col In Range("A1:B2").Columns For Each C In Col.Cells x = C.Value Next Next End Sub '-------------------------
"Brunos" a écrit dans le message de news: Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Grand merci à tous d'avoir cogité sur la question! :D Les méthodes de Daniel.C et de JPMonnier fonctionnent très bien. J'adopte celle de MichDenis car il n'y a pas de compteur, uniquement des collections.
-- Brunos
Imbrication de 2 boucles...
d'abord une boucle sur les colonnes
suivi d'ne boucle sur chacune des cellules de la colonne
'-------------------------
Sub test()
Dim Col As Range, C As Range
For Each Col In Range("A1:B2").Columns
For Each C In Col.Cells
x = C.Value
Next
Next
End Sub
'-------------------------
"Brunos" a écrit dans le message de news:
Quand on parcourt une plage de cellules avec For Each Next, la
progression se fait ligne par ligne apparemment.
Dans for each C in range("A1:B2"), C prend successivement les valeurs
A1, B1, puis A2, B2.
C'est possible de parcourir la plage colonne par colonne ?
Grand merci à tous d'avoir cogité sur la question! :D
Les méthodes de Daniel.C et de JPMonnier fonctionnent très bien.
J'adopte celle de MichDenis car il n'y a pas de compteur, uniquement
des collections.
Imbrication de 2 boucles... d'abord une boucle sur les colonnes suivi d'ne boucle sur chacune des cellules de la colonne
'------------------------- Sub test() Dim Col As Range, C As Range For Each Col In Range("A1:B2").Columns For Each C In Col.Cells x = C.Value Next Next End Sub '-------------------------
"Brunos" a écrit dans le message de news: Quand on parcourt une plage de cellules avec For Each Next, la progression se fait ligne par ligne apparemment. Dans for each C in range("A1:B2"), C prend successivement les valeurs A1, B1, puis A2, B2. C'est possible de parcourir la plage colonne par colonne ?
Grand merci à tous d'avoir cogité sur la question! :D Les méthodes de Daniel.C et de JPMonnier fonctionnent très bien. J'adopte celle de MichDenis car il n'y a pas de compteur, uniquement des collections.