Boucler sur une seule colonne d’une plage

Bonsoir à tous,

Comment pourvoir boucler seulement sur les valeurs de la première colonne d’une plage nommée ?

            For Each C In PlageFiltre.Columns(1)
                With Sheets(C)
                    .Add after(Sheets(Sheets.Count))
                    .[A10] = Split(C, " ")(1)
                    .[A16] = C.Offset(, 4)
                    .[B16] = C.Offset(, 6)
                End With
            Next C

Merci.

Bonjour,

sans avoir le code complet ou un fichier pour comprendre, essaie ceci :

Dim plagefiltre As Range, C As Range
For Each C In Range("plagefiltre")
If C.Column = 1 Then MsgBox "ok"
With Sheets(C)
.Add after:=(Sheets(Sheets.Count))
.[A10] = Split(C, " ")(1)
.[A16] = C.Offset(, 4)
.[B16] = C.Offset(, 6)
End With
Next C
End If

si ok, lors de ta réponse, merci de cloturer le fil en cliquant sur le V vert à coté du bouton EDITER

Amicalement

Bonjour Dan,

Si PlageFiltre = $A1$8:$F$25

J'aimerais boucler sur les cellules de la première colonne A de cette plage, à savoir A18:A25

NB : PlageFiltre est un résultat d'un filtre automatique

Merci.

Bonsoir

A tester

  For Each C In PlageFiltre.Range("A1:A" & PlageFiltre.Rows.Count)

Bonsoir Banzai64,

Ca marche ta solution.

Merci.

Bonjour,

Je voulais appliquer la solution pour parcourir les lignes de la troisième colonne d'une plage filtrée "$A$x:$F$x" sans avoir à connaitre les lignes de début ou de fin de cette plage, mais ça n'a pas marché !

For Each C In PlageFiltre.Range(, 3)

Bonjour

Une solution (peut-être compliquée)

Sub test()
Dim Cel As Range

  For Each Cel In Range(Range("Plagefiltre").Range("C1"), Range("Plagefiltre").Cells(Range("Plagefiltre").Rows.Count, 3))
    Debug.Print Cel
  Next Cel
End Sub

Bonjour à tous,

ou bien :

    Dim c As Range
    For Each c In [PlageFiltre].Columns(3).Cells
    Next c

eric

Bonsoir Banzai64, eriic,

Merci pour les solutions.

J'ai essayé avec le code suivant, mais j’obtiens toujours une ligne :

Sub ParcourirPlageColonne()
    Dim c As Range
    With Feuil1
        .AutoFilterMode = False
        Set Plage = .Range("A1:P" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        .Range("A1:P1").AutoFilter 1, "RF8"
    End With
    Set Plage = Plage.Offset(1).Resize(Plage.Rows.Count - 1)
    If Application.Subtotal(103, Plage) > 0 Then    's'il y a des lignes filtrées
        Set Plage = Plage.SpecialCells(xlCellTypeVisible)
        For Each c In Plage.Columns(3).Cells
            MsgBox "Colonne C : " & c
        Next c
    End If
End Sub

Bonjour,

Ce n'est pas pareil, Plage est une plage discontinue : "$A$5:$P$5,$A$7:$P$8"

        For Each c In Intersect(Plage, [C:C])
            MsgBox c.Address & " : " & c
        Next c

eric

Bonjour,

Merci eric.

Rechercher des sujets similaires à "boucler seule colonne plage"