Lignes vides

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #19791671
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"
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


Michel MTO
Le #19793701
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" 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"
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


LSteph
Le #19794261
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"
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" 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"


> 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 -


Michel MTO
Le #19796681
Merci pour tes explications LSteph

;-)

Michel

"LSteph" 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"
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"

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"


> 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 -


Publicité
Poster une réponse
Anonyme