VBA Supprimer une ligne selon la valeur d'une cellule

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

Johan

XLDnaute Occasionnel
Bonjour,

J'ai un classeur sur lequel ma Feuil1 contient toute une série d'actions menées dans l'année, avec tout le détail.
La Feuil4 est une vision synthétique de ma Feuil1 en ne laissant apparaître QUE les actions dont le statut est "En Cours"

Le code est donc le suivant :

Code:
Sub MAJEnCours()

Dim LignePA As Integer, lg As Integer

LignePA = 14

With Feuil4.ListObjects(1)

For LignePA = 14 To Feuil1.Cells(Feuil1.Rows.Count, 27).End(xlUp).Row
    
 If Feuil1.Range("AA" & LignePA) = "En Cours" Then
  On Error Resume Next
 lg = Feuil4.Range("A:A").Find(Feuil1.Range("A" & LignePA), LookIn:=xlValues).Row
            If lg = 0 Then
 
.ListRows.Add

.Range(.Range.Rows.Count, 1).Value = Feuil1.Range("A" & LignePA)
.Range(.Range.Rows.Count, 2).Value = Feuil1.Range("C" & LignePA)
.Range(.Range.Rows.Count, 3).Value = Feuil1.Range("D" & LignePA)
.Range(.Range.Rows.Count, 4).Value = Feuil1.Range("E" & LignePA)
.Range(.Range.Rows.Count, 5).Value = Feuil1.Range("J" & LignePA)
.Range(.Range.Rows.Count, 6).Value = Feuil1.Range("O" & LignePA)
.Range(.Range.Rows.Count, 7).Value = Feuil1.Range("P" & LignePA)
.Range(.Range.Rows.Count, 8).Value = Feuil1.Range("Q" & LignePA)
.Range(.Range.Rows.Count, 9).Value = Feuil1.Range("T" & LignePA)
.Range(.Range.Rows.Count, 12).Value = Feuil1.Range("AA" & LignePA)
.Range(.Range.Rows.Count, 13).Value = Feuil1.Range("AB" & LignePA)
.Range(.Range.Rows.Count, 14).Value = Feuil1.Range("AC" & LignePA)
 
 
            End If
  On Error GoTo 0
 
 End If
 
Next LignePA

End With

End Sub


Le problème c'est que les actions sont mises à jour manuellement sur la Feuil1 sur laquelle je passe le status de l'action en "Validée" ou parfois "Annulée"

Que modifier dans le code suivant pour qu'il vienne automatiquement mettre à jour ma synthèse en Feuil4 si le statut passe en "Validée" ou "Annulée", c'est à dire supprimer la ligne ?

Merci à vous
 
Re : VBA Supprimer une ligne selon la valeur d'une cellule

Bonjour Johan,

La solution serait de passer le type d'action en paramètre à la procédure.

Exemple:

Code:
MAJEnCours(Suppr as Boolean)
If Suppr = True Then
  ...
  Else
  ...
End If
End Sub
Mais, pour être plus précis, une copie de ton classeur (sans données confidentielles) serait souhaitable.

A +

Cordialement.
 
- 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
235
Réponses
4
Affichages
461
Retour