Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] For each c in Columns(5)... ne fonctionne pas : (

8 réponses
Avatar
HD
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD

8 réponses

Avatar
Daniel
Bonjour.
Essaie :
For Each c In Columns(5).Cells
Apparemment, VBA considère Columns(5) comme un range non découpable ?
Cordialement
Daniel
"HD" a écrit dans le message de news:
divpmp$u70$
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro
ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD




Avatar
Elliac
Bonjour HD,

Il serait préférable de parcourir une plage. Pour déterminer cette plage :
der=Range("E50000").End(XlUp).Row
For each c in Range("E1:E" & der)

Next

Camille

"HD" wrote:

Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD





Avatar
michdenis
Bonjour Daniel,

| For Each c In Columns(5).Cells
| Apparemment, VBA considère Columns(5) comme un range non découpable ?

For each c in .... s'applique au collection d'objets, et LA colonne 5 n'est pas une collection mais un membre de la collection
columns

ce type de boucle s'applique aussi dans le cas de tableau (array)


Salutations!



"Daniel" a écrit dans le message de news:
Bonjour.
Essaie :
For Each c In Columns(5).Cells
Apparemment, VBA considère Columns(5) comme un range non découpable ?
Cordialement
Daniel
"HD" a écrit dans le message de news:
divpmp$u70$
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro
ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD




Avatar
Daniel
Bonjour.
La théorie est dure pour moi.
Est-ce que la colonne 5 n'est pas une collection de cells ?
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
OpE%
Bonjour Daniel,

| For Each c In Columns(5).Cells
| Apparemment, VBA considère Columns(5) comme un range non découpable ?

For each c in .... s'applique au collection d'objets, et LA colonne 5
n'est pas une collection mais un membre de la collection
columns

ce type de boucle s'applique aussi dans le cas de tableau (array)


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour.
Essaie :
For Each c In Columns(5).Cells
Apparemment, VBA considère Columns(5) comme un range non découpable ?
Cordialement
Daniel
"HD" a écrit dans le message de news:
divpmp$u70$
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro
ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD









Avatar
michdenis
Bonjour Daniel,

| For Each c In Columns(5).Cells
Lorsque tu spécifies l'index de la colonne, Columns(5) n'est plus une colllection mais "une" colonne bien définie. Dans
l'expression ci-haut, la boucle se fait sur la collection "Cells" appartenant à cette colonne.

Voici plusieurs façons d'utiliser "Columns"
'--------------------
With Worksheets("Feuil1")
Set Rg = .Range("A1:G1").Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Cells.Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Cells.Columns(5)
MsgBox Rg.Columns.Count
End With
'--------------------


Salutations!


"Daniel" a écrit dans le message de news:
Bonjour.
La théorie est dure pour moi.
Est-ce que la colonne 5 n'est pas une collection de cells ?
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
OpE%
Bonjour Daniel,

| For Each c In Columns(5).Cells
| Apparemment, VBA considère Columns(5) comme un range non découpable ?

For each c in .... s'applique au collection d'objets, et LA colonne 5
n'est pas une collection mais un membre de la collection
columns

ce type de boucle s'applique aussi dans le cas de tableau (array)


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour.
Essaie :
For Each c In Columns(5).Cells
Apparemment, VBA considère Columns(5) comme un range non découpable ?
Cordialement
Daniel
"HD" a écrit dans le message de news:
divpmp$u70$
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro
ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD









Avatar
Daniel
Merci pour la démonstration et le mal que tu t'es donné.
C'est plus clair dans ma tête.
Daniel
"michdenis" a écrit dans le message de news:

Bonjour Daniel,

| For Each c In Columns(5).Cells
Lorsque tu spécifies l'index de la colonne, Columns(5) n'est plus une
colllection mais "une" colonne bien définie. Dans
l'expression ci-haut, la boucle se fait sur la collection "Cells"
appartenant à cette colonne.

Voici plusieurs façons d'utiliser "Columns"
'--------------------
With Worksheets("Feuil1")
Set Rg = .Range("A1:G1").Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Cells.Columns
MsgBox Rg.Columns.Count
End With
'--------------------
With Worksheets("Feuil1")
Set Rg = .Cells.Columns(5)
MsgBox Rg.Columns.Count
End With
'--------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour.
La théorie est dure pour moi.
Est-ce que la colonne 5 n'est pas une collection de cells ?
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
OpE%
Bonjour Daniel,

| For Each c In Columns(5).Cells
| Apparemment, VBA considère Columns(5) comme un range non découpable ?

For each c in .... s'applique au collection d'objets, et LA colonne 5
n'est pas une collection mais un membre de la collection
columns

ce type de boucle s'applique aussi dans le cas de tableau (array)


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour.
Essaie :
For Each c In Columns(5).Cells
Apparemment, VBA considère Columns(5) comme un range non découpable ?
Cordialement
Daniel
"HD" a écrit dans le message de news:
divpmp$u70$
Bonjour,

Je voudrais parcourir toutes les cellules de ma colonne 5... or ma macro
ne
parcours pas du tout les cellules de cette colonne... Pourquoi ?

For Each c In Columns(5)
MonTraitement
Next

Merci d'avance pour votre aide
--
@+
HD














Avatar
HD
Merci à tous pour ces explications... Je me demandais pourquoi celà ne
fonctionnait pas alors que ça semblait correct... mais effectivement il
y'avait qques petits problèmes...

--
@+
HD
Avatar
HD
der=Range("E50000").End(XlUp).Row


On m'avait également donné cette formule pour avoir la dernière ligne d'une
colonne :

der = ActiveSheet.Columns(5).Find("*", , LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

--
@+
HD