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

Balayer en VBA toutes les lignes d'une plage de cellules sélecti on

3 réponses
Avatar
Philippe33
Bonjour,

Je cherche comment balayer une à une toutes les lignes correspondant à une
plage de cellules continues ou non sélectionnées.
Je cherche un équivalent à ActiveCell.Row mais pour un Range de cellules que
je pourrais traiter par un For Each Row In .....

Merci d'avance
--
Philippe33

3 réponses

Avatar
Céline
bonjour Philippe

voici voila un petit bout de macro pour commencer

Sub mamacro()

Dim rang As Integer
rang = 0

For Each rng In Selection
If rng.Row <> rang Then
MsgBox rng.Row
'ta procédure ici
rang = rng.Row
End If
Next rng

End Sub

tu peux enlever le msgbox rng.row (c juste pratique en cas de test pour
savoir ou t'en es...)
rng représente un objet Range, que tu peux traiter comme tel (sauf
erreur de ma part...)
bonne fin de journée
Céline



Bonjour,

Je cherche comment balayer une à une toutes les lignes correspondant à une
plage de cellules continues ou non sélectionnées.
Je cherche un équivalent à ActiveCell.Row mais pour un Range de cellu les que
je pourrais traiter par un For Each Row In .....

Merci d'avance
--
Philippe33


Avatar
Pierre Fauconnier
Bonjour

Voici une macro qui liste les numéros de ligne d'une plage, que la plage
contienne une zone ou plusieurs. On lui passe la plage voulue en paramètres.
Il faut bien entendu adapter la ligne "debug.print" en fonction de tes
besoins.


Sub LignesPlage(Plage As Range)

Dim Ligne As Long
Dim noZone As Long

For noZone = 1 To Plage.Areas.Count
For Ligne = 1 To Plage.Areas(noZone).Rows.Count
Debug.Print Plage.Areas(noZone).Cells(Ligne, 1).Row
Next Ligne
Next noZone
End Sub


Sub Appel()
LignesPlage Range("zonemultiple")
End Sub

Ok?

--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci


"Philippe33" a écrit dans le message
de news:
Bonjour,

Je cherche comment balayer une à une toutes les lignes correspondant à une
plage de cellules continues ou non sélectionnées.
Je cherche un équivalent à ActiveCell.Row mais pour un Range de cellules
que
je pourrais traiter par un For Each Row In .....

Merci d'avance
--
Philippe33


Avatar
Philippe33
Merci Céline, c'est parfait
--
Philippe33



bonjour Philippe

voici voila un petit bout de macro pour commencer

Sub mamacro()

Dim rang As Integer
rang = 0

For Each rng In Selection
If rng.Row <> rang Then
MsgBox rng.Row
'ta procédure ici
rang = rng.Row
End If
Next rng

End Sub

tu peux enlever le msgbox rng.row (c juste pratique en cas de test pour
savoir ou t'en es...)
rng représente un objet Range, que tu peux traiter comme tel (sauf
erreur de ma part...)
bonne fin de journée
Céline



Bonjour,

Je cherche comment balayer une à une toutes les lignes correspondant à une
plage de cellules continues ou non sélectionnées.
Je cherche un équivalent à ActiveCell.Row mais pour un Range de cellules que
je pourrais traiter par un For Each Row In .....

Merci d'avance
--
Philippe33