OVH Cloud OVH Cloud

recherche croisé sur plusieurs feuilles

5 réponses
Avatar
rakam
comment =E0 l'aide d'une macro ou d'une formule, faire une=20
recherche afin de conna=EEtre l'emplacement de valeurs=20
identiques dans plusieurs feuilles diff=E9rentes. Sachant=20
que les valeurs pouvant =EAtre identiques ne se trouvent pas=20
forc=E9ment dans la m=EAme colonne ni dans les m=EAmes lignes=20
suivant les feuilles o=F9 elles se trouvent.

5 réponses

Avatar
AV
Pour chercher la chaîne "zzz" dans toutes les feuilles

Sub Chercher_zzz()
For Each Sh In ActiveWorkbook.Worksheets
Set Cell = Sh.Cells.Find("zzz")
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Sh.Name & " - " & Cell.Address
Set Cell = Sh.Cells.FindNext(Cell)
Loop Until Cell.Address = PremCell
End If
Next
End Sub

AV.
Avatar
-----Message d'origine-----
Pour chercher la chaîne "zzz" dans toutes les feuilles

Sub Chercher_zzz()
For Each Sh In ActiveWorkbook.Worksheets
Set Cell = Sh.Cells.Find("zzz")
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Sh.Name & " - " & Cell.Address
Set Cell = Sh.Cells.FindNext(Cell)
Loop Until Cell.Address = PremCell
End If
Next
End Sub

AV.


.
merci pour ta réponse, je vais essayer. Néanmoins dans ta
macro, il semble que tu recherches une chaîne bien

définie. Par contre, pour ma part, je dois pouvoir
rechercher une valeur quelqu'elle soit dans toutes les
feuilles. Dois-je utiliser la même macro ou faut-il y
amener des modifications. En quelques mots dans ta macro,
y-a-t'il une boîte de dialogue au départ qui me permet de
rechercher la chaîne ou la recherche se fait-elle
automatiquement sur toutes les valeurs quelqu'elles soient
présentes dans toutes les feuilles.
Je voudrais en fait une recherche automatique de valeurs
identiques (chiffre ou texte) dans plusieurs feuilles et
pas forcément dans les mêmes colonnes ni les mêmes lignes
avec un résultat lisible à la fin de la recherche.

Avatar
AV
merci pour ta réponse, je vais essayer. Néanmoins dans ta
macro, il semble que tu recherches une chaîne bien

définie.

Ben c'était un exemple
Pour chercher une variable à définir :
Sub Chercher_zzz()
zzz = InputBox("Saisir la valeur à chercher", "Recherche dans toutes les
feuilles")
If zzz = "" Then Exit Sub
For Each Sh In ActiveWorkbook.Worksheets
Set Cell = Sh.Cells.Find(zzz, LookAt:=xlWhole)
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Sh.Name & " - " & Cell.Address
Set Cell = Sh.Cells.FindNext(Cell)
Loop Until Cell.Address = PremCell
End If
Next
End Sub

PS : Si tu veux trouver, même si la chaîne (zzz) est une sous-chaîne d'une autre
chaîne, remplace "xlWhole" par "xlPart"
AV.

Avatar
-----Message d'origine-----
merci pour ta réponse, je vais essayer. Néanmoins dans ta
macro, il semble que tu recherches une chaîne bien

définie.

Ben c'était un exemple
Pour chercher une variable à définir :
Sub Chercher_zzz()
zzz = InputBox("Saisir la valeur à chercher", "Recherche
dans toutes les

feuilles")
If zzz = "" Then Exit Sub
For Each Sh In ActiveWorkbook.Worksheets
Set Cell = Sh.Cells.Find(zzz, LookAt:=xlWhole)
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Sh.Name & " - " & Cell.Address
Set Cell = Sh.Cells.FindNext(Cell)
Loop Until Cell.Address = PremCell
End If
Next
End Sub

PS : Si tu veux trouver, même si la chaîne (zzz) est une
sous-chaîne d'une autre

chaîne, remplace "xlWhole" par "xlPart"
AV.


.
Ok j'essaye dès que possible et si j'ai besoin d'un autre
coup de main, je laisse un petit message sur ce

newsgroups. Merci encore.


Avatar
-----Message d'origine-----

-----Message d'origine-----
merci pour ta réponse, je vais essayer. Néanmoins dans
ta



macro, il semble que tu recherches une chaîne bien
définie.

Ben c'était un exemple
Pour chercher une variable à définir :
Sub Chercher_zzz()
zzz = InputBox("Saisir la valeur à chercher", "Recherche
dans toutes les

feuilles")
If zzz = "" Then Exit Sub
For Each Sh In ActiveWorkbook.Worksheets
Set Cell = Sh.Cells.Find(zzz, LookAt:=xlWhole)
If Not Cell Is Nothing Then
PremCell = Cell.Address
Do
MsgBox Sh.Name & " - " & Cell.Address
Set Cell = Sh.Cells.FindNext(Cell)
Loop Until Cell.Address = PremCell
End If
Next
End Sub

PS : Si tu veux trouver, même si la chaîne (zzz) est une
sous-chaîne d'une autre

chaîne, remplace "xlWhole" par "xlPart"
AV.


.
Ok j'essaye dès que possible et si j'ai besoin d'un
autre


coup de main, je laisse un petit message sur ce
newsgroups. Merci encore.
.
Ok, la macro fonctionne mais je voudrais à partir d'une
feuille nomm"ée par exemple "A", faire une recherche

automatique qui me mettrait sur une feuille ajoutée à la
fin de mon classeur, le résultat de mes recherches en
indiquant les valeurs identiques des différentes valeurs
présentes dans la première feuille et qui se
retrouveraient dans chaque feuilles. feuille qui
indiquerai les cases trouvées sous
forme "feuille" "colonne" et "ligne". Avez vous la soluce.
Je le jure, après je ne demande plus rien.