Bonjour à tous!
Je viens vers vous car j'ai 2 petites macros qui me sont assez utiles, la première observe toutes les cases de ma feuille et clear les cases qui contiennent une valeur indiquée. La seconde supprime des lignes entières selon le contenu de la case de la 1ère colonne.
Ma question est la suivante:
Je dipose d'un dossier comprenant de nombreux fichiers excel, sur chaque fichier excel, seul la première page contient des données. J'aimerai créer une macro qui passe un par un chaque fichier de mon dossier et qui enclenche une de mes 2 macros.
j'imagine appuyer sur un bouton par exemple "MAJ+L" pour déclencher la macro 1 et "MAJ+M" pour déclencher la macro 2.
Voici mes macros:
La première qui observe toutes les cases et supprime la valeur demandée
Public Sub auto_open()
Dim resultat As String
resultat = InputBox("Valeur contenue dans cellules à nettoyer", "Nettoyage de cellules")
If resultat <> "" Then
Application.ScreenUpdating = False
Cells.SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Replace What:=resultat, Replacement:="", LookAt:=xlWhole, MatchCase:=True
Application.ScreenUpdating = True
End If
End Sub
La seconde qui supprime une ligne entière selon le contenu de la première cellule:
Public Sub test()
Dim resultat As String
Dim i As Integer
resultat = InputBox("Entrez la valeur contenue dans la 1ère cellule des lignes à supprimer", "Suppression de lignes selon la valeur de la 1ère cellule")
If resultat <> "" Then
For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If (Range("A" & i)) = resultat Then Rows(i).Delete
Next i
End If
End Sub
Je vous remercie d'avance pour votre aide !