Bonjour, j'ai beau chercher un peu partout je ne trouve pas alors que cela doit être tout simple
j'ai un tableau
je voudrais que :
si A1 est vide cela efface la ligne 1 (et non la supprimer)
si A2 est vide cela efface la ligne 2 (et non la supprimer)
etc jusqu'à A18
Re : Effacement ligne en VBA si ... (et non supprimer)
Bonsoir.
C'est EntireRow pour définir la ligne entière contenant une plage.
C'est ClearContents pour en effacer le contenu.
Ça vous suffit ?
Cordialement.
Re : Effacement ligne en VBA si ... (et non supprimer)
merci mais je débute seulement en VBA et sans VBA ça ressemblerait à ça
SI A1 = "" EFFACER ligne entière
mais en VBA retranscrit par moi meme ça donne ça
If Range("A1") = "" then
EntireRow.ClearContents et ça ne fonctionne pas.
Re : Effacement ligne en VBA si ... (et non supprimer)
merci mais toujours pas, je comprend pas tout
Code:
For i = 4 To Range("B18").End(xlUp).Row '4 pour le début ligne 4, et B18 la fin
If Cells(i, 2).Value = "" Then '2 pour la colonne B
Rows(i).EntireRow.ClearContents
End If
Next i
Re : Effacement ligne en VBA si ... (et non supprimer)
c'est bon, j'ai trouvé la boulette, j'étais bon depuis le début mais j'avais omis que dans mon tableau la colonne A masquée était FUSIONNEE donc empêchait l'effacement de ligne.
Code:
Dim i As Long
For i = 4 To 18
If Cells(i, 2).Value = "" Then Rows(i).ClearContents
Next i
Re : Effacement ligne en VBA si ... (et non supprimer)
Bonjour
Tu peux faire plus simple (voir la macro ci-dessous)
Code:
Sub effacer()
On Error Resume Next ' ajout pour éviter ce que vient de signaler Pierrot93
Range("B4:B18").SpecialCells(xlCellTypeBlanks).Offset(, -1).ClearContents
End Sub