[résolu] Supprimer une ligne sous condition

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

kraenys

XLDnaute Junior
Bonjour la communauté,

je viens vers vous car je cherche une solution sous Excel 2007 pour supprimer une ligne sous condition qu'au moins une cellule parmis certaines précises fixes (colones G,H,I,J) de la ligne ne contiennent pas un code précis. (code du type AE*), et le faire pour toutes les lignes du document

Je joins à ce fichier quelques lignes de mon document original.

Merci d'avance de votre aide,

Bien à vous.
Kraenys
 

Pièces jointes

Dernière édition:
Re : Supprimer une ligne sous condition

Bonjour Kraenys, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim o As Object 'déclare la varable o (Onglet)
Dim dl As Integer 'déclare la varable dl (Dernière Ligne)
Dim i As Integer 'déclare la varable i (Incrément)
Dim j As Byte 'déclare la varable j (Incrément)

Set o = Sheets("Feuil1") 'définit l'onglet o
dl = o.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet o
For i = dl To 2 Step -1 'boucle 1 : inversée de la dernière ligne à la ligne 2
    For j = 7 To 10 'boucle 2 : des colonne 7 (=G) à 10 (=J)
        If Left(o.Cells(i, j).Value, 2) = "AE" Then 'condition : si les deux premiers caractères de la cellule ligne i, colonne J sont "AE"
            o.Rows(i).Delete 'supprime la ligne i
            Exit For 'sort de la boucle 2
        End If 'fin de la condition
    Next j 'prochaine colonne de la boucle 2
Next i 'prochaine ligne de la boucle 1
End Sub
 
Re : Supprimer une ligne sous condition

Bonjour

un truc comme ceci

Code:
Sub supprim()
Dim i As Long
For j = 6 To 10
    For i = Cells(Application.Rows.Count, 1).End(xlUp).Row To 2 Step -1
            If Cells(i, j).Value Like "AE*" Then
                 Cells(i, j).EntireRow.Delete
        End If
    Next
    Next
End Sub
 
Re : Supprimer une ligne sous condition

Bonjour Robert et Gilbert_RGI,

Je me suis inspiré de la réponse de Robert et susi parvenu à finir le code, ce dernier fonctionne parfaitement désormais.
Merci Gilbert pour votre réponse, et en particulier pour le mot clé Like "...*" que je ne connaissait pas et qui aurai également résolu mon problème.

Bien à vous.

Kraenys
 
- 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

Discussions similaires

Réponses
5
Affichages
236
Réponses
9
Affichages
673
Réponses
26
Affichages
1 K
Retour