Comptage de lignes vides

Le
Apitos
Bonjour,

J'ai un tableau qui se termine la ligne 12 et un autre qui dbute
la ligne 15.

Comment faire en VBA pour compter le nombre de lignes vides entre ces
deux tableaux ?

Merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5334371
Bonjour.
Essaie :

Sub test()
Dim i As Integer, ctr As Integer
For i = 13 To 14
If Application.CountA(Rows(i)) = 0 Then
ctr = ctr + 1
End If
Next i
MsgBox "Nombre de lignes vides : " & ctr
End Sub

Cordialement.
Daniel
"Apitos"


Bonjour,

J'ai un tableau qui se termine à la ligne 12 et un autre qui débute à
la ligne 15.

Comment faire en VBA pour compter le nombre de lignes vides entre ces
deux tableaux ?

Merci.
Apitos
Le #5334111
Merci Daniel,

Mais l'écart n'est pas toujours égal à 2 lignes.


Dans l'exemple en fichier joint, j'aimerais éffacer le tableau allant
de A19 à A28 plus les cellules vides allant jusqu'à la ligne A35.

Le tableau à éffacer est trouvé aprés une recherche de la cellule
intitulé (Trouve_intit.adresse)


'------
debutabrow = Trouve_intit.Row - 1
debutabcol = Trouve_intit.Column - 1
fintabrow = Trouve_intit.Offset(0, -1).End(xlDown).Row
fintabcol = Trouve_intit.Column + 1
MsgBox "debutabrow = " & debutabrow & vbLf & _
"debutabcol = " & debutabcol & vbLf & _
"fintabrow = " & fintabrow & vbLf & _
"fintabcol = " & fintabcol
MsgBox "On va supprimé le tableau de
l'intitulé : " & intitule
Range(Cells(debutabrow, debutabcol),
Cells(fintabrow + 2, fintabcol)).Delete shift:=xlUp
'-------------------------------

Le 2 (Nbre de lignes vides au-dessous par defaut ) ajouté à fintabrow
n'est pas toujours vrai, parce que dans notre cas il y'a 7 lignes
vides et non pas 2.

Alors comment trouver qu'il y'a 7 lignes vides en bas du tableau à
éffacer ?

Merci

http://cjoint.com/?bmtAKP7sLs
Daniel.C
Le #5334071
Essaie la macro ci-dessous. Elle efface les lignes 19 à 35 de ton classeur
(soit du deuxième "Crédit" à la ligne avant le troisième) :

Sub suppr()
Dim Ligne1 As Integer, Ligne2 As Integer
Set c = Columns(1).Find("Crédit", [A1], , xlWhole)
Set c = Columns(1).FindNext(c)
Ligne1 = c.Row
Set c = Columns(1).FindNext(c)
Ligne2 = c.Row - 1
Range(Ligne1 & ":" & Ligne2).Clear
End Sub

Daniel
"Apitos"
Merci Daniel,

Mais l'écart n'est pas toujours égal à 2 lignes.


Dans l'exemple en fichier joint, j'aimerais éffacer le tableau allant
de A19 à A28 plus les cellules vides allant jusqu'à la ligne A35.

Le tableau à éffacer est trouvé aprés une recherche de la cellule
intitulé (Trouve_intit.adresse)


'------
debutabrow = Trouve_intit.Row - 1
debutabcol = Trouve_intit.Column - 1
fintabrow = Trouve_intit.Offset(0, -1).End(xlDown).Row
fintabcol = Trouve_intit.Column + 1
MsgBox "debutabrow = " & debutabrow & vbLf & _
"debutabcol = " & debutabcol & vbLf & _
"fintabrow = " & fintabrow & vbLf & _
"fintabcol = " & fintabcol
MsgBox "On va supprimé le tableau de
l'intitulé : " & intitule
Range(Cells(debutabrow, debutabcol),
Cells(fintabrow + 2, fintabcol)).Delete shift:=xlUp
'-------------------------------

Le 2 (Nbre de lignes vides au-dessous par defaut ) ajouté à fintabrow
n'est pas toujours vrai, parce que dans notre cas il y'a 7 lignes
vides et non pas 2.

Alors comment trouver qu'il y'a 7 lignes vides en bas du tableau à
éffacer ?

Merci

http://cjoint.com/?bmtAKP7sLs
Apitos
Le #5333841
Bonjour Daniel.C,

Ton code marche sauf qu'il effacera les lignes en entiers.

Bon j'ai trouvé la solution en ajoutant ces trois lignes :

'-----------------------
v = 1
Do While IsEmpty(Cells(fintabrow + v, fintabcol - 1).Value)
v = v + 1
Loop
'-------------------

Avec celui d'en haut :

'---------------------------
debutabrow = Trouve_intit.Row - 1
debutabcol = Trouve_intit.Column - 1
fintabrow = Trouve_intit.Offset(0,
-1).End(xlDown).Row
fintabcol = Trouve_intit.Column + 1
MsgBox "debutabrow = " & debutabrow & vbLf & _
"debutabcol = " & debutabcol & vbLf & _
"fintabrow = " & fintabrow & vbLf & _
"fintabcol = " & fintabcol
v = 1
Do While IsEmpty(Cells(fintabrow + v,
fintabcol - 1).Value)
v = v + 1
Loop
MsgBox "On va supprimé le tableau de
l'intitulé : " & intitule
Range(Cells(debutabrow, debutabcol),
Cells(fintabrow + v - 1, fintabcol)).Delete shift:=xlUp

'--------------------------

Salutations.
Publicité
Poster une réponse
Anonyme