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

Lignes vides

4 réponses
Avatar
Michel MTO
Bonjour à toutes et à tous,

Je voudrais savoir quel bout de code dois je utiliser pour sélectionner
toutes les lignes vides sur une feuille excel, j'utilise ce code mais çà ne
fonctionne pas :-(

With ActiveSheet
For Each Row In ActiveSheet
If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Select
Next
End With

Je voudrais sélectionner l'ensemble de mes lignes vides

merci pour vos lumières

Michel MTO

4 réponses

Avatar
LSteph
Bonjour,
Nota: Select ne sert presque jamais à rien! "Que" veux tu faire des
lignes totalement vides?
Donc mettons...Y compris celles qui restent en dessous de la plage de
feuille utile!??

Sub tvide()
Dim r As Long, myR As Range
For r = 1 To Rows.Count

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
If Range("iv" & r).End(xlToLeft).Column = 1 Then
If myR Is Nothing Then
Set myR = Rows(r)
Else
Set myR = Union(myR, Rows(r))
End If
End If
End If
Next
myR.Select
End Sub

'lSteph




On 20 juil, 11:50, "Michel MTO" wrote:
Bonjour à toutes et à tous,

Je voudrais savoir quel bout de code dois je utiliser pour sélectionner
toutes les lignes vides sur une feuille excel, j'utilise ce code mais ç à ne
fonctionne pas :-(

With ActiveSheet
 For Each Row In ActiveSheet
  If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Select
 Next
End With

Je voudrais sélectionner l'ensemble de mes lignes vides

merci pour vos lumières

Michel MTO


Avatar
Michel MTO
Merci LSteph, exactement ce que je voulais,
Si je comprend bien, tu teste les 2 dernières cellules dans la 1ère ligne et
dans la 1ère colonne, ensuite tu remonte jusqu'à la dernière colonne
utilisée et après je ne comprend plus
si myR est vide set myR=Rows(r) ???
else set myR = Union(myR, Rows(r)) ???

je te remrcie par avance pour tes explications

Michel

"LSteph" a écrit dans le message de
news:
Bonjour,
Nota: Select ne sert presque jamais à rien! "Que" veux tu faire des
lignes totalement vides?
Donc mettons...Y compris celles qui restent en dessous de la plage de
feuille utile!??

Sub tvide()
Dim r As Long, myR As Range
For r = 1 To Rows.Count

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
If Range("iv" & r).End(xlToLeft).Column = 1 Then
If myR Is Nothing Then
Set myR = Rows(r)
Else
Set myR = Union(myR, Rows(r))
End If
End If
End If
Next
myR.Select
End Sub

'lSteph




On 20 juil, 11:50, "Michel MTO" wrote:
Bonjour à toutes et à tous,

Je voudrais savoir quel bout de code dois je utiliser pour sélectionner
toutes les lignes vides sur une feuille excel, j'utilise ce code mais çà


ne
fonctionne pas :-(

With ActiveSheet
For Each Row In ActiveSheet
If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Select
Next
End With

Je voudrais sélectionner l'ensemble de mes lignes vides

merci pour vos lumières

Michel MTO


Avatar
LSteph
Sub tvide()
Dim r As Long, myR As Range
' on définit r pour les num de lignes et myR la plage qu'on veut
obtenir
For r = 1 To Rows.Count 'Pour le compte de lignes

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
'si sa 1ere et sa derniere cellule ont une chaine de longueur nulle
alors

If Range("iv" & r).End(xlToLeft).Column = 1 Then
'si quand je reviens vers la gauche le premier arrêt est en colonne 1

If myR Is Nothing Then
Set myR = Rows(r)
' alors si je n'ai encore rien dans la variable MyR j'y mets cette
ligne

Else ' sinon c'est que MyR est déjà renseignée alors

Set myR = Union(myR, Rows(r))
'jemets dans myR l'union de ce qui est déjà dans myR et la ligne à y
ajouter
End If ' Finsi
End If 'donc sinon on ne fais rien on saute la ligne
End If
Next 'on passe au même traitement pour la ligne suivante

myR.Select 'on sélectionne la plage MyR obtenue
End Sub


'lSteph






On 20 juil, 17:43, "Michel MTO" wrote:
Merci LSteph, exactement ce que je voulais,
Si je comprend bien, tu teste les 2 dernières cellules dans la 1ère l igne et
dans la 1ère colonne, ensuite tu remonte jusqu'à la dernière colonn e
utilisée et après je ne comprend plus
si myR est vide set myR=Rows(r) ???
else  set myR = Union(myR, Rows(r)) ???

je te remrcie par avance pour tes explications

Michel

"LSteph" a écrit dans le message denews:3adcb94b-0
Bonjour,
Nota: Select ne sert presque jamais à rien! "Que" veux tu faire des
lignes totalement vides?
Donc mettons...Y compris celles qui restent en dessous de  la plage de
feuille utile!??

Sub tvide()
Dim r As Long, myR As Range
For r = 1 To Rows.Count

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
If Range("iv" & r).End(xlToLeft).Column = 1 Then
If myR Is Nothing Then
Set myR = Rows(r)
Else
Set myR = Union(myR, Rows(r))
End If
End If
End If
Next
myR.Select
End Sub

'lSteph

On 20 juil, 11:50, "Michel MTO" wrote:



> Bonjour à toutes et à tous,

> Je voudrais savoir quel bout de code dois je utiliser pour sélectionn er
> toutes les lignes vides sur une feuille excel, j'utilise ce code mais çà
ne
> fonctionne pas :-(

> With ActiveSheet
> For Each Row In ActiveSheet
> If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Select
> Next
> End With

> Je voudrais sélectionner l'ensemble de mes lignes vides

> merci pour vos lumières

> Michel MTO- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Michel MTO
Merci pour tes explications LSteph

;-)

Michel

"LSteph" a écrit dans le message de
news:
Sub tvide()
Dim r As Long, myR As Range
' on définit r pour les num de lignes et myR la plage qu'on veut
obtenir
For r = 1 To Rows.Count 'Pour le compte de lignes

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
'si sa 1ere et sa derniere cellule ont une chaine de longueur nulle
alors

If Range("iv" & r).End(xlToLeft).Column = 1 Then
'si quand je reviens vers la gauche le premier arrêt est en colonne 1

If myR Is Nothing Then
Set myR = Rows(r)
' alors si je n'ai encore rien dans la variable MyR j'y mets cette
ligne

Else ' sinon c'est que MyR est déjà renseignée alors

Set myR = Union(myR, Rows(r))
'jemets dans myR l'union de ce qui est déjà dans myR et la ligne à y
ajouter
End If ' Finsi
End If 'donc sinon on ne fais rien on saute la ligne
End If
Next 'on passe au même traitement pour la ligne suivante

myR.Select 'on sélectionne la plage MyR obtenue
End Sub


'lSteph






On 20 juil, 17:43, "Michel MTO" wrote:
Merci LSteph, exactement ce que je voulais,
Si je comprend bien, tu teste les 2 dernières cellules dans la 1ère ligne


et
dans la 1ère colonne, ensuite tu remonte jusqu'à la dernière colonne
utilisée et après je ne comprend plus
si myR est vide set myR=Rows(r) ???
else set myR = Union(myR, Rows(r)) ???

je te remrcie par avance pour tes explications

Michel

"LSteph" a écrit dans le message


denews:
Bonjour,
Nota: Select ne sert presque jamais à rien! "Que" veux tu faire des
lignes totalement vides?
Donc mettons...Y compris celles qui restent en dessous de la plage de
feuille utile!??

Sub tvide()
Dim r As Long, myR As Range
For r = 1 To Rows.Count

If Len(Range("iv" & r)) = 0 And Len(Rows(r).Cells(1)) = 0 Then
If Range("iv" & r).End(xlToLeft).Column = 1 Then
If myR Is Nothing Then
Set myR = Rows(r)
Else
Set myR = Union(myR, Rows(r))
End If
End If
End If
Next
myR.Select
End Sub

'lSteph

On 20 juil, 11:50, "Michel MTO" wrote:



> Bonjour à toutes et à tous,

> Je voudrais savoir quel bout de code dois je utiliser pour sélectionner
> toutes les lignes vides sur une feuille excel, j'utilise ce code mais çà
ne
> fonctionne pas :-(

> With ActiveSheet
> For Each Row In ActiveSheet
> If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Select
> Next
> End With

> Je voudrais sélectionner l'ensemble de mes lignes vides

> merci pour vos lumières

> Michel MTO- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -