Balayer en VBA toutes les lignes d'une plage de cellules sélecti on
3 réponses
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 .....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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 .....
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
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
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 (pierre.fauconnier@nospam.nospam) (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" <Philippe33@discussions.microsoft.com> a écrit dans le message
de news: 5CE48C35-3A5B-40B7-9E04-0930E6514894@microsoft.com...
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 .....
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
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
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 .....
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 .....