Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro suppression de ligne avec un 0

  • Initiateur de la discussion Initiateur de la discussion David066
  • 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 !

D

David066

Guest
Bonjour à tous,

je souhaiterai créer une macro me permettant de supprimer une ligne lorsque deux colonnes prennent la valeur 0.
Je m'explique, mon fichier se présente de la façon suivante:

3 0
4 0
5 0
7 0
3 5
0 0
0 0
0 0
0 0
4 5
5 6

Dans cette série la macro devrait me supprimer les lignes 6 à 9.


Si quelqu'un a une solution.....
 
Re : Macro suppression de ligne avec un 0

bonjour David066
suppose les 2 premieres colonnes a adapter

Code:
Sub es()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) = 0 And Cells(i, 2) = 0 Then Rows(i).Delete
Next i
End Sub
 
Re : Macro suppression de ligne avec un 0

J'imagine que je dois apparaitre pour un nul 🙂
Peux-tu me dire comment adapter la macro a mon
fichier qui présente deux colonnes A et B allant de
la ligne 2 jusqu'à la ligne 198001.
Désolé...
 
Re : Macro suppression de ligne avec un 0

Bonjour le fil, David066, laetitia90 😉


Une autre façon en passant par le filtre automatique
(qui a l'avantage d'éviter de boucler)

VB:
Sub Macro1()
Dim r As Range, rf As Range
With ActiveSheet
    Set r = _
        .[A1].CurrentRegion: r.AutoFilter 1, "0": r.AutoFilter 2, "0"
    
    Set rf = _
        .[_FilterDataBase]: rf.Offset(1, 0).Resize(rf.Rows.Count - 1).SpecialCells(12).Delete Shift:=xlUp
    .AutoFilterMode = False
End With
End Sub

PS: code fonctionnel dans les conditions de test décrites ci-dessous:
Les colonnes A et B seulement contiennent des données et il n'y a pas de cellules vides dans ces colonnes.
 
Dernière édition:
Re : Macro suppression de ligne avec un 0

Staple1600 t'a macro fonctionne à merveille 🙂.
Merci à tous les deux vous pour vos conseils et votre
rapidité de réponse.

Salutations
 
Re : Macro suppression de ligne avec un 0

re, bonjour l'ami Staple🙂🙂🙂🙂🙂🙂🙂🙂🙂

j'ai pas le reflexe d'utiliser les filtres bien plus simple & plus rapide bien vu😱😱
peut tu me dire a quoi correspond le 12😕😕

Code:
        .[_FilterDataBase]: rf.Offset(1, 0).Resize(rf.Rows.Count - 1).SpecialCells(12).Delete Shift:=xlUp
 
Re : Macro suppression de ligne avec un 0

Re

laetitia90
Pour répondre à ta question 😉
(Extrait de l'aide VBA*)
Const xlCellTypeVisible = 12
Membre de Excel.XlCellType
*: accessible par ALT+F11+F1

(Tous les jours, je caresse cette touche au point que l'inscription est effacée 😉 )
 
Dernière édition:
Re : Macro suppression de ligne avec un 0

Bonjour tout le monde,
une autre possibilité en passant par des tableaux VBA (code moins compact mais je pense que la vitesse d'exécution est également rapide) :
Code:
Sub test2()
Dim tabl, DerLigne&, Plage, Nb&, i&, j&
With ActiveSheet
    Set Plage = .Range("A1:B" & Range("B" & Rows.Count).End(xlUp).Row)
    tabl = Plage.Value
    j = 0
        For i = 1 To Plage.Rows.Count
            If tabl(i, 1) + tabl(i, 2) <> 0 Then
                Dim tabl2()
                ReDim Preserve tabl2(Plage.Rows.Count, Plage.Columns.Count - 1)
                tabl2(j, 0) = tabl(i, 1)
                tabl2(j, 1) = tabl(i, 2)
                j = j + 1
            End If
        Next i
    .[A1].Resize(Plage.Rows.Count, Plage.Columns.Count) = tabl2
End With
End Sub
A+
 
Dernière édition:
Re : Macro suppression de ligne avec un 0

Re
attention david84 si donnees sur les autres colonnes dans ce cas la tu supprime seulement sur colonne a & b
Oui mais là ce n'est qu'un exemple à adapter à la configuration du fichier réel.
Je n'ai fait que colle aux indications fournies :
Peux-tu me dire comment adapter la macro a mon
fichier qui présente deux colonnes A et B allant de
la ligne 2 jusqu'à la ligne 198001.
A moins que tu veuilles me faire comprendre autre chose...
A+ Laetitia
 
Re : Macro suppression de ligne avec un 0

Re
Pas de soucis 🙂, j'aurais pu louper un épisode. Continue d'être vigilante sur les propositions que je peux faire, cela me rend service😎.
A+
 
- 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

Réponses
5
Affichages
915
Réponses
6
Affichages
345
Réponses
4
Affichages
586
Réponses
7
Affichages
483
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…