Code de suppression

Bonsoir à toutes et à tous,

j’ai encore un soucis de création de code.

Dans le fichier ci-joint vous avez un tableau sur l’onglet « Feuil1 ».

Je souhaiterai pouvoir supprimer les lignes appartenant au même N° de commande et à condition que ce N° de commande possède le STATUT " COMPLETE ".

Pour exemple, si je prends la première commande du tableau, elle comprends 4 ligne et elle a la mention " COMPLETE " comme STATUT, donc si je clique sur le bouton supprimer il devrait effacer ces lignes.

Pourriez vous me guider un peu s’il vous plaît.

Merci à vous.

Rubis
Rubis54.xlsm (14,6 Ko)

bonsoir, cette macro supprime toute la ligne, donc c’est important qu’il n’y a rien d’autre à côté de ce tableau, autrement vous risquez que ce sera aussi supprimé .
Donc, y-a-t-il quelque chose à côté du tableau ?
Rubis54.xlsm (27,0 Ko)

Bonjour Cow18

Merci pour le retour, oui il y a des inscriptions à droite de ce tableau qui doivent rester.

Pouvez vous faire autrement ?

supprimé par moi-même

un tout petit modif de ma macro précédente … :innocent:

Sub Supprimer()
     Dim LO, i, ptr As Integer

     Set LO = Sheets("Feuil1").Range("A1").ListObject     'votre tableau structuré
     If LO.ListRows.Count = 0 Then MsgBox "vide": Exit Sub
     Application.ScreenUpdating = False
     With LO.ListColumns("statut").DataBodyRange     'colonne "Statut"
          On Error Resume Next
          .SpecialCells(xlBlanks).FormulaR1C1 = "=IF(and( R[-1]C=""complete"",[@FOURNISSEUR]=""""),""complete"","""")"     'pour les cellules vides, si cellule dessus est "compete", cette cellule aussi
          On Error GoTo 0
          .Value = .Value                    'en supposant qu'il n'y avait pas d'autre formules dans cette colonne, remplacer les formules par leur valeur
          For i = .Rows.Count To 1 Step -1
               If StrComp(.Cells(i, 1).Value, "Complete", 1) = 0 Then LO.ListRows(i).Delete: ptr = ptr + 1
          Next
     End With
     MsgBox ptr & " lignes supprimées"
End Sub

1 « J'aime »

Re Cow18,

Super ! Fonctionne comme souhaité. :+1: :+1:
Je te Remercie beaucoup pour ton aide et à une prochaine fois certainement.

Rubis

1 « J'aime »

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.