Rajouter une boucle

Bonjour,

Je souhaiterais rajouter une boucle à ma macro.

Je recherche une valeur "M10E" dans la colonne "D". Ma macro actuelle sélectionne la cellule et la supprime. Si elle ne trouve plus de valeur "M10E" alors elle sélectionne la cellule A1.

Le problème c'est que je suis obliger de la lancer à chaque fois, pour chaque cellule. J'aimerais créer une boucle afin que la macro ce lance autant de fois qu'il y a de valeur "M10E" (le nombre peut être variable)

J'ai essayé en rajoutant ce code à la fin pour relancer la macro mais ça créer un blocage :

    Application.Run ("Cherche") 

Voici ma macro :

Sub Cherche()

'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

'Je cherche M10E
Valeur_Cherchee = "M10E"

'dans la 4ème colonne de la feuille active
Set PlageDeRecherche = ActiveSheet.Columns(4)

'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)

'Si on ne trouve rien :
If Trouve Is Nothing Then
'Si la valeur n'est pas trouvé alors on selectionne A1
    Range("A1").Select
Else
'Si la valeur M10E est trouvée, la cellule s'active
    AdresseTrouvee = Trouve.Activate

End If

    Selection.ClearContents

'vidage des variables
Set PlageDeRecherche = Nothing
Set Trouve = Nothing

End Sub

Pouvez vous me filer un coup de main pour créer cette boucle ?

Merci d'avance.

Addaex

bonjour

une proposition

Sub Cherche()

'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

'Je cherche M10E
Valeur_Cherchee = "M10E"

'dans la 4ème colonne de la feuille active
Set PlageDeRecherche = ActiveSheet.Columns(4)
do
'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)

'Si on ne trouve rien :
If Trouve Is Nothing Then
'Si la valeur n'est pas trouvé alors on selectionne A1
    Range("A1").Select
Else
'Si la valeur M10E est trouvée, la cellule s'active
    AdresseTrouvee = Trouve.Activate

End If

    Selection.ClearContents
loop until trouve is nothing

'vidage des variables
Set PlageDeRecherche = Nothing
Set Trouve = Nothing

End Sub

Jolie ! Ça fonctionne du tonnerre !

Merci

Rechercher des sujets similaires à "rajouter boucle"