Macro recherche plusieurs critères cellule
Résolu
mickysor
-
mickysor -
mickysor -
Bonjour,
Dans la colonne a:a Je souhaiterais créer une macro de recherche.le problême c'est que je souhaiterais pouvoir faire une recherche multi critères.par exemple dans la cellule a3 il y a italie rome 133.je souhaiterais pouvoir rechercher "italie 133" par exemple.
Merci pour votre aide
Dans la colonne a:a Je souhaiterais créer une macro de recherche.le problême c'est que je souhaiterais pouvoir faire une recherche multi critères.par exemple dans la cellule a3 il y a italie rome 133.je souhaiterais pouvoir rechercher "italie 133" par exemple.
Merci pour votre aide
A voir également:
- Macro recherche plusieurs critères cellule
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
8 réponses
Bonsoir,
Tu ne précises pas si tu veux les références ou un filtre...
Une proposition de filtre dynamique :
Filtre multiple.xls
eric
Tu ne précises pas si tu veux les références ou un filtre...
Une proposition de filtre dynamique :
Filtre multiple.xls
eric
Bonjour,
je sais pas si c'est exactement ce que tu veux mais voila une piste :
un conseil appuie sur F8 (ca déclenche le code ligne par ligne) et pose ta souris sans cliquer sur cellule pour bien comprendre ce que cela fait
Sub x()
texte = InputBox("Merci d'indiquer le texte recherché :", "texte recherché") ' permet à l'utilisateur de rentrer ce que tu cherches
If texte <> "" Then 'si tu n'as rien rentré, la macro s'arrête
i = 2 ' commence à la 2ème ligne
Do While Cells(i, 1) <> "" 'la boucle tourne jusqu'à ce que tu n'ais rien dans une cellule de la colonne A
nbtexte = Len(texte) 'nbtexte = nbre de caractères du texte recheché
cellule = Cells(i, 1) 'cellule est égale à la valeur contenue dans ta cellule
Do While Len(cellule) > 0
If UCase(Left(cellule, nbtexte)) = UCase(texte) Then
'mets ici ce que ca doit faire lorsque tu as trouvé ton texte
cellule = "a"
End If
cellule = Right(cellule, Len(cellule) - 1)
Loop
i = i + 1
Loop
End If
End Sub
je sais pas si c'est exactement ce que tu veux mais voila une piste :
un conseil appuie sur F8 (ca déclenche le code ligne par ligne) et pose ta souris sans cliquer sur cellule pour bien comprendre ce que cela fait
Sub x()
texte = InputBox("Merci d'indiquer le texte recherché :", "texte recherché") ' permet à l'utilisateur de rentrer ce que tu cherches
If texte <> "" Then 'si tu n'as rien rentré, la macro s'arrête
i = 2 ' commence à la 2ème ligne
Do While Cells(i, 1) <> "" 'la boucle tourne jusqu'à ce que tu n'ais rien dans une cellule de la colonne A
nbtexte = Len(texte) 'nbtexte = nbre de caractères du texte recheché
cellule = Cells(i, 1) 'cellule est égale à la valeur contenue dans ta cellule
Do While Len(cellule) > 0
If UCase(Left(cellule, nbtexte)) = UCase(texte) Then
'mets ici ce que ca doit faire lorsque tu as trouvé ton texte
cellule = "a"
End If
cellule = Right(cellule, Len(cellule) - 1)
Loop
i = i + 1
Loop
End If
End Sub
bonjour
upeut etre quelque chose comme ça
RQ. attention a la casse, sinon Ucase transforme en majuscule
bonne suite
upeut etre quelque chose comme ça
For li = 21 To 24 a = InStr(1, Cells(li, 1), "Italie") b = InStr(1, Cells(li, 1), "133") If a * b > 0 Then MsgBox ("trouvé" & " - " & li) End If Next li
RQ. attention a la casse, sinon Ucase transforme en majuscule
bonne suite
Bonjour,
mais la fonction ucase permet de transformer en majuscule, comme ca ca permet de comparer deux textes identiques et pas de problème d'accent.
de plus, ton code ne permet la recherche que de italie 133 alors que le mien, tu peux rechercher n'importe quel texte.
mais la fonction ucase permet de transformer en majuscule, comme ca ca permet de comparer deux textes identiques et pas de problème d'accent.
de plus, ton code ne permet la recherche que de italie 133 alors que le mien, tu peux rechercher n'importe quel texte.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
> melanie
tu as tout a fait raison, je voulais suggerer une idée pour repondre simplement a la question posée
mais
le texte cherché est une partie du contenu de la cellule, donc instr s'impose.
bonne journée
tu as tout a fait raison, je voulais suggerer une idée pour repondre simplement a la question posée
mais
le texte cherché est une partie du contenu de la cellule, donc instr s'impose.
bonne journée
Comment as tu fait ce fitre dynamique c'est exactement ce que je voulais!!!
En vba, clic-droit sur le nom de l'onglet de la feuille et 'visualiser le code...'
eric