macro qui supprime les linges à condtion....

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

tapha20

XLDnaute Occasionnel
Bonjour à tous

je cherche une macro qui supprime les ligne de la page excel (fihcier joint) à condition que dans la colone A il n y a plus de numéro d'affaire.
J'utilise cette macro mais elle ne fonctionne pas



For i = 1 To Sheets("DSS").Range("F1").End(xlDown).Row
If Sheets("DSS").Range("A" & i).Value = "0" Then
Sheets("DSS").Range("A" & i & ":F65536").Delete
Sheets("DSS").Range("B" & i & ":F65536").Delete
Sheets("DSS").Range("C" & i & ":F65536").Delete
Sheets("DSS").Range("D" & i & ":F65536").Delete
End If
Next


Merci de votre aide,

le projet touche à sa fin..............

cordialement
 

Pièces jointes

Re : macro qui supprime les linges à condtion....

Bonjour,

voici une macro qui boucle de la fin du tableau et supprime toutes les lignes avec la valeur 0 en colonne 1 (ou A)


Code:
Sub SupLigne()

For i = Sheets("DSS").Range("A65536").End(xlUp).Row To 2 Step -1
  If Sheets("DSS").Cells(i, 1).Value = "0" Then
     Sheets("DSS").Rows(i).Delete
 
  End If
Next

End Sub
 
Re : macro qui supprime les linges à condtion....

merci pour ta macro


et si à la place de "0", je mettai "", cad un vide c pour un autre fichier la macro sera bonne aussi?????

encore une chose, cette macro efface le contenu des ligne ou supprime aussi les lignes????


Cordialement
 
Re : macro qui supprime les linges à condtion....

Bonjour tapha20,

Pour répondre à tes questions :

- tu peux tester la valeur que tu veux, donc "" si la cellule est vide
- la propriété Delet supprime la ligne
- Pour la partie performance, dans le forum nous répondons aux question posées de manière simple car souvent les intervenants sont novices (voire très novices) et nous ne voulons pas les noyer sous l'information.

pour les performance, dans notre exemple il est évidents qu'il faut travailler sans mise à jour de l'écran et le résultat est immédiat :

Code:
Application.ScreenUpdating = False

For i = Sheets("DSS").Range("a65536").End(xlUp).Row To 2 Step -1
If Sheets("DSS").Cells(i, 1).Value = "0" Then
   Sheets("DSS").Rows(i).Delete
 
End If
Next

Application.ScreenUpdating = True
 
- 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
909
Réponses
15
Affichages
782
Réponses
4
Affichages
732
Réponses
4
Affichages
754
Retour