Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
je n'arrive pas à adapter la macro ci-dessus pour mon cas.
Je souhaiterais, à l'enregistrement du fichier supprimer toutes les lignes dont la cellule A est vide mais uniquement si A3 n'est pas vide. Si A3 est vide alors rien n'est fait, si A3 n'est pas vide alors dès qu'une cellule A est vide, il supprime toutes les lignes suivantes.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lig As Long
With Sheets("Feuil1")
If .Range("A3") = "" Then Exit Sub
lig = .Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
With .Range("A4:A" & lig).SpecialCells(xlCellTypeBlanks)
.Delete Shift:=xlUp
End With
End With
End Sub
Sub Macro1()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1000 To 1 Step -1
If ucase(range("A" & i).Value) <> "" And ucase(range("B" & i).Value) = "" then rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Soit sur les 1000 premières lignes de ta feuille, lorsque tu as une valeur en colonne A et rien en colonne B tu effaces la ligne.
merci pour vos réponses.
Je joins un exemple à ce que je désire car je n'y arrive toujours pas même en essayant d'adopter et d'adapter la macro de mth
Je voudrais que si A3 est vide, rien ne se passe.
Par contre si A3 n'est pas vide alors on cherche la 1ère cellule en A de vide et on supprime toutes les lignes à partir de cette cellule vide.
Dans mon exemple on supprime à partir de la ligne 22.
Bonsoir,
Avec un fichier qu'on ne peut pas ouvrir...
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("Feuil1")
If .Range("A3") = "" Then Exit Sub
For i = .Range("A65536").End(xlUp).Row To 4 Step -1
If .Range("A" & i) = "" Then .Rows(i).Delete
Next i
End With
End Sub
Le fichier a l'air d'être d'accord pour se laisser lire sur ma machine, donc je remets le code du post 5 dedans, en espérant que tout le monde pourra accéder au fichier
(J'ai juste transformé en commenaires le 'Me.Unprotect /Unprotect Password:="motdepasse" 😕 )
merci mais ça ne m'efface pas les lignes vides en A à partir de la ligne 22, cela m'a effacé quelques cellules au dessus de la ligne 22 mais j'ai toujours mon quadrillage.
Je ne comprends pas...
calcule la dernière cellule renseignée colonne A, la macro travaille donc dans cette zone sans aller plus bas. Le quadrillage ne change rien à l'affaire, une cellule vide est vide, or tu parlais bien de cellules vides dans ton sujet.
Essaie éventuellement en ajoutant une ligne dans le code comme ceci:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lig As Long
With Sheets("Séjours à coder")
If .Range("A3") = "" Then Exit Sub
lig = .Cells(Rows.Count, 1).End(xlUp).Row
.Range(.Cells(lig + 1, 1), .Cells(lig + 1, 13).End(xlDown)).Delete Shift:=xlUp
On Error Resume Next
With .Range("A4:M" & lig).SpecialCells(xlCellTypeBlanks)
.Delete Shift:=xlUp
End With
End With
End Sub
c'est vrai que je parlais de supprimer une ligne et que je n'ai pas précisé que je souhaitais une suppression totale de ligne, quadrillage compris car j'ai des fichiers préparés à l'avance. 1 fichier par semaine pour une 100aine d'équipes. Certaines ont besoin de 500 lignes d'autres une 20aine et cela varie à chaque semaine.
Le quadrillage fait augmenter considérablement la taille des fichiers et je voudrais par une macro supprimer le quadrillage qui ne sert pas.
Ta correction supprime bien le quadrillage à partir de la ligne 22. Mais cela m'efface aussi des cellules sur des lignes dont la cellule en A n'est pas vide.
Voilà ce que cela donne en pièce jointe. Sur le fichier en copie la macro avec les cellules effacées, l'autre fichier étant l'original.
En tout cas merci pour l'aide apportée jusqu'à présent
- 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