J'ai une ligne avec des adresses. Chaque adresse est compos=E9 d'un nom, d'=
une rue, d'un code postal et d'une ville. Une adresse compl=E8te par cellul=
e et sur trois lignes.
je recherche un code qui permettrait de rechercher tout ou partie d'adresse=
.
Exemple:
j'ai une adresse comme celle l=E0:
Jean MARTIN
12, rue des oliviers
75000 PARIS
Je lance la recherche sur "PARIS", je voudrai pouvoir rep=E9rer toutes les =
adresses contant le terme recherch=E9.
Dans la procédure, tu dois indiquer le nom de la feuille où sont tes données.
Si tu as une feuille dont l'onglet porte le nom de "Résultat", modifie dans la procédure le nom que doit prendre l'onglet de la feuille qui affichera les résultats.
'--------------------------------------- Sub test()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet, Adr As String Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont tes données. Set Sh = Worksheets("Feuil1") 'Nom feuille à adapter
'Suppression de la feuille résultat si elle existe déjà Application.DisplayAlerts = False Worksheets("Résultat").Delete Application.DisplayAlerts = True
'Ajout d'une feuille pour recueillir les résultats. Set Dest = Worksheets.Add Dest.Name = "Résultat"
X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3) If X = False Then Exit Sub With Sh.Cells Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) If Not Trouve Is Nothing Then Adr = Trouve.Address Do A = A + 1 With Dest .Range("A" & A) = Trouve.Address .Range("B" & A) = Trouve.Value End With Set Trouve = .FindNext(Trouve) Loop Until Trouve.Address = Adr End If End With End Sub '---------------------------------------
Dans la procédure, tu dois indiquer le nom de la feuille où sont tes
données.
Si tu as une feuille dont l'onglet porte le nom de "Résultat", modifie dans
la
procédure le nom que doit prendre l'onglet de la feuille qui affichera les
résultats.
'---------------------------------------
Sub test()
Dim X As Variant, Trouve As Range
Dim Sh As Worksheet, Adr As String
Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont tes données.
Set Sh = Worksheets("Feuil1") 'Nom feuille à adapter
'Suppression de la feuille résultat si elle existe déjà
Application.DisplayAlerts = False
Worksheets("Résultat").Delete
Application.DisplayAlerts = True
'Ajout d'une feuille pour recueillir les résultats.
Set Dest = Worksheets.Add
Dest.Name = "Résultat"
X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3)
If X = False Then Exit Sub
With Sh.Cells
Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
A = A + 1
With Dest
.Range("A" & A) = Trouve.Address
.Range("B" & A) = Trouve.Value
End With
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = Adr
End If
End With
End Sub
'---------------------------------------
Dans la procédure, tu dois indiquer le nom de la feuille où sont tes données.
Si tu as une feuille dont l'onglet porte le nom de "Résultat", modifie dans la procédure le nom que doit prendre l'onglet de la feuille qui affichera les résultats.
'--------------------------------------- Sub test()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet, Adr As String Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont tes données. Set Sh = Worksheets("Feuil1") 'Nom feuille à adapter
'Suppression de la feuille résultat si elle existe déjà Application.DisplayAlerts = False Worksheets("Résultat").Delete Application.DisplayAlerts = True
'Ajout d'une feuille pour recueillir les résultats. Set Dest = Worksheets.Add Dest.Name = "Résultat"
X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3) If X = False Then Exit Sub With Sh.Cells Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) If Not Trouve Is Nothing Then Adr = Trouve.Address Do A = A + 1 With Dest .Range("A" & A) = Trouve.Address .Range("B" & A) = Trouve.Value End With Set Trouve = .FindNext(Trouve) Loop Until Trouve.Address = Adr End If End With End Sub '---------------------------------------
Merci, je vais tenter de l'adapter à ma situation. Je regarde demain et je reviendrai vers toi au besoin.
Merci encore.
JP
JP
Bonjour Denis,
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as string) 'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données. Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1 If X = "" Then Exit Sub With Sh.Range("E3:DH3") Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) Adr = Trouve.Address Do A = A + 1 Set Trouve = .FindNext(Trouve) ' UserForm5.Show Loop Until Trouve.Address = Adr ' MsgBox " occurences trouvées: " & A Sheets("pfmp").Range(Adr).Select End With End Sub
La cellule selectionnée est toujours la première occurence. J'ai créé un userform avec un bouton suivant et un autre ok Suivant, pour poursuivre la recherche Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derriè re les deux boutons?
Merci
JP
Bonjour Denis,
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range
Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as string)
'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données.
Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1
If X = "" Then Exit Sub
With Sh.Range("E3:DH3")
Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart)
Adr = Trouve.Address
Do
A = A + 1
Set Trouve = .FindNext(Trouve)
' UserForm5.Show
Loop Until Trouve.Address = Adr
' MsgBox " occurences trouvées: " & A
Sheets("pfmp").Range(Adr).Select
End With
End Sub
La cellule selectionnée est toujours la première occurence.
J'ai créé un userform avec un bouton suivant et un autre ok
Suivant, pour poursuivre la recherche
Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derriè re les deux boutons?
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as string) 'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données. Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1 If X = "" Then Exit Sub With Sh.Range("E3:DH3") Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) Adr = Trouve.Address Do A = A + 1 Set Trouve = .FindNext(Trouve) ' UserForm5.Show Loop Until Trouve.Address = Adr ' MsgBox " occurences trouvées: " & A Sheets("pfmp").Range(Adr).Select End With End Sub
La cellule selectionnée est toujours la première occurence. J'ai créé un userform avec un bouton suivant et un autre ok Suivant, pour poursuivre la recherche Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derriè re les deux boutons?
Merci
JP
MichD
Ta question initiale ne faisait pas mention d'un formulaire!
La procédure telle que présentée, copie dans une nouvelle feuille "résultat" en colonne A, les adresses des occurrences de la valeur recherchée dans la feuille où la recherche à lieu et dans la colonne B, le contenu complet de la cellule trouvée.
Si tu veux les afficher dans un formulaire les données de la feuille résultat c'est une autre chose!
Pour l'instant, ta demande est incompréhensible!!!
MichD --------------------------------------------------------------- "JP" a écrit dans le message de groupe de discussion :
Bonjour Denis,
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as string) 'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données. Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1 If X = "" Then Exit Sub With Sh.Range("E3:DH3") Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) Adr = Trouve.Address Do A = A + 1 Set Trouve = .FindNext(Trouve) ' UserForm5.Show Loop Until Trouve.Address = Adr ' MsgBox " occurences trouvées: " & A Sheets("pfmp").Range(Adr).Select End With End Sub
La cellule selectionnée est toujours la première occurence. J'ai créé un userform avec un bouton suivant et un autre ok Suivant, pour poursuivre la recherche Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derrière les deux boutons?
Merci
JP
Ta question initiale ne faisait pas mention d'un formulaire!
La procédure telle que présentée, copie dans une nouvelle feuille "résultat"
en colonne A, les adresses des occurrences de la valeur recherchée dans la
feuille où la recherche à lieu et dans la colonne B, le contenu complet de
la cellule trouvée.
Si tu veux les afficher dans un formulaire les données de la feuille
résultat
c'est une autre chose!
Pour l'instant, ta demande est incompréhensible!!!
MichD
---------------------------------------------------------------
"JP" a écrit dans le message de groupe de discussion :
33f00e38-5ead-4ee3-b1da-926dc297111a@googlegroups.com...
Bonjour Denis,
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range
Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as
string)
'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données.
Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1
If X = "" Then Exit Sub
With Sh.Range("E3:DH3")
Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart)
Adr = Trouve.Address
Do
A = A + 1
Set Trouve = .FindNext(Trouve)
' UserForm5.Show
Loop Until Trouve.Address = Adr
' MsgBox " occurences trouvées: " & A
Sheets("pfmp").Range(Adr).Select
End With
End Sub
La cellule selectionnée est toujours la première occurence.
J'ai créé un userform avec un bouton suivant et un autre ok
Suivant, pour poursuivre la recherche
Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derrière les
deux boutons?
Ta question initiale ne faisait pas mention d'un formulaire!
La procédure telle que présentée, copie dans une nouvelle feuille "résultat" en colonne A, les adresses des occurrences de la valeur recherchée dans la feuille où la recherche à lieu et dans la colonne B, le contenu complet de la cellule trouvée.
Si tu veux les afficher dans un formulaire les données de la feuille résultat c'est une autre chose!
Pour l'instant, ta demande est incompréhensible!!!
MichD --------------------------------------------------------------- "JP" a écrit dans le message de groupe de discussion :
Bonjour Denis,
J'ai adapté mais je n'obtiens pas tout à fait ce que je souhaite.
Voici le code modifié:
Sub recherche()
Dim X As Variant, Trouve As Range Dim Sh As Worksheet ', Adr As String (déclaration passée en public Adr as string) 'Dim Dest As Worksheet, A As Long
On Error Resume Next
'La feuille où sont les données. Set Sh = Worksheets("pfmp") 'Nom feuille à adapter
X = Sheets("PFMP").TextBox1 If X = "" Then Exit Sub With Sh.Range("E3:DH3") Set Trouve = .Find(what:=X, LookIn:=xlValues, lookat:=xlPart) Adr = Trouve.Address Do A = A + 1 Set Trouve = .FindNext(Trouve) ' UserForm5.Show Loop Until Trouve.Address = Adr ' MsgBox " occurences trouvées: " & A Sheets("pfmp").Range(Adr).Select End With End Sub
La cellule selectionnée est toujours la première occurence. J'ai créé un userform avec un bouton suivant et un autre ok Suivant, pour poursuivre la recherche Ok si l'occurrence est la bonne.
Mais voilà, il y a toujours un voilà, quel code faut-il mettre derrière les deux boutons?
Merci
JP
JP
Non, je ne veux pas afficher le résultat dans un userform. Je veux repé rer sur la même feuille (celle où se fait la recherche) les cellules co ntenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la c ellule reste sélectionnée.
J'espère que c'est plus clair pour toi.
Cordialement
JP
Non, je ne veux pas afficher le résultat dans un userform. Je veux repé rer sur la même feuille (celle où se fait la recherche) les cellules co ntenant le terme de la recherche (Exemple Paris)
Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle.
C'est là qu'un petit userforme avec deux boutons intervient.
Bouton "Suivant" pour passer à l'occurrence suivante
Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la c ellule reste sélectionnée.
Non, je ne veux pas afficher le résultat dans un userform. Je veux repé rer sur la même feuille (celle où se fait la recherche) les cellules co ntenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la c ellule reste sélectionnée.
J'espère que c'est plus clair pour toi.
Cordialement
JP
Jacquouille
Bonjour
Si c'est pour afficher toutes les cellules contenant le mot "Paris", un simple filtre suffirait. Données/Filtrer/filtre automatique/personnalisé/contient "Paris". On peut même jouer avec un Sous.Total pour compter le nombre de cellules. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "JP" a écrit dans le message de groupe de discussion :
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer sur la même feuille (celle où se fait la recherche) les cellules contenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la cellule reste sélectionnée.
J'espère que c'est plus clair pour toi.
Cordialement
JP
Bonjour
Si c'est pour afficher toutes les cellules contenant le mot "Paris", un
simple filtre suffirait.
Données/Filtrer/filtre automatique/personnalisé/contient "Paris".
On peut même jouer avec un Sous.Total pour compter le nombre de cellules. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"JP" a écrit dans le message de groupe de discussion :
4776c7b2-1ccc-4d83-ad22-cb09578bac11@googlegroups.com...
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer
sur la même feuille (celle où se fait la recherche) les cellules contenant
le terme de la recherche (Exemple Paris)
Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules
soient sélectionnées à tour de rôle.
C'est là qu'un petit userforme avec deux boutons intervient.
Bouton "Suivant" pour passer à l'occurrence suivante
Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la
cellule reste sélectionnée.
Si c'est pour afficher toutes les cellules contenant le mot "Paris", un simple filtre suffirait. Données/Filtrer/filtre automatique/personnalisé/contient "Paris". On peut même jouer avec un Sous.Total pour compter le nombre de cellules. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "JP" a écrit dans le message de groupe de discussion :
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer sur la même feuille (celle où se fait la recherche) les cellules contenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la cellule reste sélectionnée.
J'espère que c'est plus clair pour toi.
Cordialement
JP
MichD
Tout le code suivant dans ton formulaire :
Pour lancer la recherche, tu lies la procédure "Nouvelle_Recherche()" à un bouton de ton formulaire.
Pour trouver toutes les autres occurrences de l'expression recherchée, tu lies la procédure "La_Prochaine_Valeur()" à un bouton "Next".
'Déclaration des variables dans le haut du formualaire Dim LastAdr As String Dim X As Variant Dim Debut As String
'------------------------------------------- Sub Nouvelle_Recherche()
Dim Trouve As Range Dim Sh As Worksheet, Adr As String
LastAdr = "": X = ""
Worksheets("Feuil1").Activate 'Nom feuille à adapter X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3) If X = False Then Exit Sub
Call Recherche(X) End Sub
'------------------------------------------- Sub Touver_La_Prochaine_Valeur() Call Recherche(X) End Sub
'------------------------------------------- Sub Recherche(Expression As Variant) Dim X As Variant, Trouve As Range
With ActiveSheet.Cells If LastAdr = "" Then LastAdr = "A1" Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr), LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext, SearchOrder:=xlByColumns) If Not Trouve Is Nothing Then If LastAdr = "A1" Then Debut = Trouve.Address End If Trouve.Select If LastAdr <> "A1" And Debut = Trouve.Address Then MsgBox "Nous sommes revenus au point de départ." End If LastAdr = Trouve.Address
End If End With End Sub '-------------------------------------------
MichD --------------------------------------------------------------- "JP" a écrit dans le message de groupe de discussion :
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer sur la même feuille (celle où se fait la recherche) les cellules contenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la cellule reste sélectionnée.
J'espère que c'est plus clair pour toi.
Cordialement
JP
Tout le code suivant dans ton formulaire :
Pour lancer la recherche, tu lies la procédure "Nouvelle_Recherche()"
à un bouton de ton formulaire.
Pour trouver toutes les autres occurrences de l'expression recherchée,
tu lies la procédure "La_Prochaine_Valeur()" à un bouton "Next".
'Déclaration des variables dans le haut du formualaire
Dim LastAdr As String
Dim X As Variant
Dim Debut As String
'-------------------------------------------
Sub Nouvelle_Recherche()
Dim Trouve As Range
Dim Sh As Worksheet, Adr As String
LastAdr = "": X = ""
Worksheets("Feuil1").Activate 'Nom feuille à adapter
X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3)
If X = False Then Exit Sub
Call Recherche(X)
End Sub
'-------------------------------------------
Sub Touver_La_Prochaine_Valeur()
Call Recherche(X)
End Sub
'-------------------------------------------
Sub Recherche(Expression As Variant)
Dim X As Variant, Trouve As Range
With ActiveSheet.Cells
If LastAdr = "" Then LastAdr = "A1"
Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr),
LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext,
SearchOrder:=xlByColumns)
If Not Trouve Is Nothing Then
If LastAdr = "A1" Then
Debut = Trouve.Address
End If
Trouve.Select
If LastAdr <> "A1" And Debut = Trouve.Address Then
MsgBox "Nous sommes revenus au point de départ."
End If
LastAdr = Trouve.Address
End If
End With
End Sub
'-------------------------------------------
MichD
---------------------------------------------------------------
"JP" a écrit dans le message de groupe de discussion :
4776c7b2-1ccc-4d83-ad22-cb09578bac11@googlegroups.com...
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer
sur la même feuille (celle où se fait la recherche) les cellules contenant
le terme de la recherche (Exemple Paris)
Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules
soient sélectionnées à tour de rôle.
C'est là qu'un petit userforme avec deux boutons intervient.
Bouton "Suivant" pour passer à l'occurrence suivante
Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la
cellule reste sélectionnée.
Pour lancer la recherche, tu lies la procédure "Nouvelle_Recherche()" à un bouton de ton formulaire.
Pour trouver toutes les autres occurrences de l'expression recherchée, tu lies la procédure "La_Prochaine_Valeur()" à un bouton "Next".
'Déclaration des variables dans le haut du formualaire Dim LastAdr As String Dim X As Variant Dim Debut As String
'------------------------------------------- Sub Nouvelle_Recherche()
Dim Trouve As Range Dim Sh As Worksheet, Adr As String
LastAdr = "": X = ""
Worksheets("Feuil1").Activate 'Nom feuille à adapter X = Application.InputBox(Prompt:="Valeur recherchée.", Type:=3) If X = False Then Exit Sub
Call Recherche(X) End Sub
'------------------------------------------- Sub Touver_La_Prochaine_Valeur() Call Recherche(X) End Sub
'------------------------------------------- Sub Recherche(Expression As Variant) Dim X As Variant, Trouve As Range
With ActiveSheet.Cells If LastAdr = "" Then LastAdr = "A1" Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr), LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext, SearchOrder:=xlByColumns) If Not Trouve Is Nothing Then If LastAdr = "A1" Then Debut = Trouve.Address End If Trouve.Select If LastAdr <> "A1" And Debut = Trouve.Address Then MsgBox "Nous sommes revenus au point de départ." End If LastAdr = Trouve.Address
End If End With End Sub '-------------------------------------------
MichD --------------------------------------------------------------- "JP" a écrit dans le message de groupe de discussion :
Non, je ne veux pas afficher le résultat dans un userform. Je veux repérer sur la même feuille (celle où se fait la recherche) les cellules contenant le terme de la recherche (Exemple Paris) Si "Paris" est dans 3 cellules différentes, je voudrais que les cellules soient sélectionnées à tour de rôle. C'est là qu'un petit userforme avec deux boutons intervient. Bouton "Suivant" pour passer à l'occurrence suivante Bouton "Ok" si l'occurrence trouvée convient. La macro s'arrête et la cellule reste sélectionnée.
Dans cette ligne, il serait mieux d'utiliser XlByRows au lieu de xlByColumns
Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr), LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext, SearchOrder:=xlByColumns) <<<<<<==========
Dans cette ligne, il serait mieux d'utiliser XlByRows au lieu de xlByColumns
Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr),
LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext,
SearchOrder:=xlByColumns) <<<<<<==========
Dans cette ligne, il serait mieux d'utiliser XlByRows au lieu de xlByColumns
Set Trouve = .Find(what:=Expression, After:=.Range(LastAdr), LookIn:=xlValues, lookat:=xlPart, SearchDirection:=xlNext, SearchOrder:=xlByColumns) <<<<<<==========