Effacement ligne en VBA si ... (et non supprimer)

  • Initiateur de la discussion Initiateur de la discussion micapilote
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

micapilote

Guest
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

Cordialement
Mica
 
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)

Bonjour à tous,

avec ceci:
Code:
Sub Macro1()
For i = 1 To Range("A65535").End(xlUp).Row
If Cells(i, 1).Value = "" Then
Rows(i).EntireRow.ClearContents
End If
Next i
End Sub
à+
Philippe
 
Re : Effacement ligne en VBA si ... (et non supprimer)

If Range("A1") = "" then
EntireRow.ClearContents et ça ne fonctionne pas.
Vous y étiez presque.
VB:
If Range("A1").Value = "" then Range("A1").EntireRow.ClearContents
et ça fonctionne.
Mais Déclarez L As Long et préférez:
VB:
If Cells(L, 1).Value = "" Then Rows(L).ClearContents
Comme ça vous pourrez le mettre dans une boucle For L = 1 To 18 finissant par Next L
À +
 
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

et ça ne donne rien, je fais si mal que ça ?
 
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

Merci à vous
 
Dernière modification par un modérateur:
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
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour