Macro Excel pour supprimer des lignes
Forum Logiciels : Macro Excel pour supprimer des lignes
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
Bonjour tout le monde !!
Je pense que la macro n'est pas compliquée mais je ne connais pas du tout la VBA et je n'ai rien trouvé sur le web pour m'aider.
J'ai en fait une liste de clients en colonne A et j'aimerais qu'avant d'éditer le ducoment, je puisse me servir d'une macro pour virer toute les lignes où un certain champs n'est pas défini.
Exemple sur la capture suivante:
J'aimerais par exemple que si le Nombre de colis de Client 3 n'est pas défini, la ligne soit supprimée.
J'espère que j'ai été assez clair.
Je compte sur vous les gens s'il vous plait !!
Merci d'avance
Salut, Xibalba
Essaie ceci:
Code :
|
A toi d'adapter les constantes en début de code avec ton fichier.
Bonne continuation
Maintenant j'aimerais supprimer 3 lignes au dessus et 3 lignes en dessous d'une certaine ligne ainsi que la ligne concernée. par exemple si ma ligne 4 répond à mon critère, Excel supprime la ligne 1 2 3 4 5 6 7
J'ai donc écris ceci mais ça ne fonctionne pas :
For i = LigneFin To LigneDebut Step -1
If Cells(i, ColonneSsTotal) = "SOUS TOTAL" And Cells(i, ColonneValSsTotal) = "0" Then
Rows(i + 3 & ":" & i + 3).Delete Shift:=xlUp
Rows(i + 2 & ":" & i + 2).Delete Shift:=xlUp
Rows(i + 1 & ":" & i + 1).Delete Shift:=xlUp
Rows(i - 3 & ":" & i - 3).Delete Shift:=xlUp
Rows(i - 2 & ":" & i - 2).Delete Shift:=xlUp
Rows(i - 1 & ":" & i - 1).Delete Shift:=xlUp
Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next i
J'avoue que je ne connais pas le sens de (i - 1 & ":" & i - 1).
Je suppose que le shift n'est qu'un décalage de la ligne vers le haut (pour le "Up" ).
Comment faire s'il vous plait ?
Merci d'avance !
Up
Salut, Xibalba
Désolé pour le retard, j'étais en congés.
Quand tu supprimes une ligne dans Excel, il ne faut pas oublier que cela décale les lignes qui sont en dessous. Il faut donc commencer par supprimer la ligne la plus "basse" et continuer en remontant jusqu'à la dernière ligne que l'on veut supprimer.
Par ailleurs, en supprimant des lignes, ta boucle va faire des tests inutiles.
Voici ce que je te propose:
Code :
|
C'est mieux ?
Il y a 297 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
