Bonjour,
J'ai un classeur qui contient une date de trop sur toutes les feuilles. Le problème c'est que cette date doit être supprimer car elle génère des erreurs lié aux valeurs qui sont sur la même ligne. Il me faut donc supprimer toutes les lignes qui sont sur cette date.
Je voulais savoir si vous pouviez m'aider sur ma macro. Je cherche à scanner chaque feuille qui contient la date concernée et qui, peu importe la position de la celulle, me supprimer la ligne entière de la cellule.
Je ne peux pas vous donner l'ensemble du fichier avec toutes les données, je vous ai donc fait une copie simplifiée avec 3 feuilles pour illustrer mon propos.
J'ai également commencer une macro, mais je bloque :
Je souhaite supprimer toutes les lignes dont la date est le 26 décembre, formaté "26-déc"
Si il y a déjà un article traité à ce sujet, je serais ravie d'avoir le lien![]()
Sauf qu'il me manque l'objet . J'ai donc rajouté la variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub Supprimer() Dim Ws As Worksheet For Each Ws In Worksheets Cells.Find(What:="26-déc", After:=ActiveCell, LookIn:=xlValues, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete Next MsgBox "Les cellules ont été supprimées" End Sub
Mais cela ne marche toujours pas. J'ai toujours l'erreur 91.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub Supprimer() Dim Ws As Worksheet Dim Cell As Range For Each Ws In Worksheets 'La colonne de date peut varier d'une feuille à une autre, c'est un gros fichier d'entreprise, donc je ne voulais pas définir de plage particulière, simplement que la boucle s'arrête une fois que toutes les dates sont supprimées For Each Cell In Range("A:AR") Cells.Find(What:="26-déc", After:=ActiveCell, LookIn:=xlValues, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete Next Cell Next Ws MsgBox "Les cellules ont été supprimées" End Sub
Merci à vous.
Partager