Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Rechercher un mot dans une liste qui apparaît plusieurs fois

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ToFMalik

XLDnaute Nouveau
Bonjour,

Voici mon problème:

Dans le ficher ci-joint je veux rechercher le mot "rouge", le copier et le coller en B1. Or vu qu'il apparaît deux fois j'aimerais qu'il soit copié-collé deux fois. Donc ça donnerait A3 en B1 et A5 en B2.

Voici ma première tentative:

Sub Search()

Dim ColumnA As Range

If Cells.Find(What:="Rouge").Activate Then
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
End If

End Sub


Je demandais pour l'instant de copier-coller le mot recherché dans la cellule de droite, en attendant de pouvoir faire mieux.

La macro trouve le premier terme mais s'arrête là. Comment faire pour copier-coller en B1-B2 tous les "Rouge"?

Vous pouvez constater par vous-même que je patauge pas mal mais je ne demande qu'à apprendre...

Merci d'avance,

Christophe
 

Pièces jointes

Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Merci à vous trois: Chalet, pierrejean, Abel. Vos trois solutions ont l'air de très bien marcher. J'essaierai de les adapter à mon fichier de travail lundi. Ça à l'air de parfaitement répondre à mes attentes.

Encore merci pour vos réponses précises et rapides.

TofMalik
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Bonjour,

Voici le problème que je rencontre aujoud'hui: lorsque je veux essayer ma macro sur mon fichier de travail, ça ne marche pas.
Evidemment je ne peux pas vous mettre le fichier mais je peux vous dire quel est le problème: imaginons que dans la liste il y ait un "Rouge Vert" et un "Vert Rouge". Dans ces cas là la macro ne trouve pas le mot Rouge et ne trouve que les précédents. Voici comment se présenterait une cellule dans laquelle je dois trouver le mot (ce que j'aurais dû faire depuis le début...): "Rouge vert : bleu orange".

Dans le meilleur des cas j'aimerais que la macro trouve dans la liste le mot rouge, copie juste bleu orange (sachant que l'espace entre les 2 points et "bleu" sera toujours le même) et le colle en B1. Puis la 2ème fois en B2, etc.

Sinon j'aimerais juste que la macro trouve le mot "Rouge" même s'il est accompagné d'autres mots, copie la cellule entière et la colle en B1, puis B2, etc.

Désolé si mon explication n'est pas très claire, n'hésitez pas à me demander plus de clarifications si nécessaire.

Merci d'avance,

TofMalik
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

bonjour tous🙂🙂🙂
une facon de l'ecrire


Code:
Option Compare Text' pas de difference majuscule & minuscules
Sub es()
Dim t(), t1(), x As Long, i As Long
 t = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row)
 ReDim t1(1 To UBound(t), 1 To 1)
 For i = 1 To UBound(t)
 If t(i, 1) Like "*" & "rouge" & "*" Then
 x = x + 1
 t1(x, 1) = t(i, 1)
 End If
 Next i
 [b1].Resize(x, 1) = t1
End Sub
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Bonjour Laetitia,

J'ai malheureusement l'habitude avec les macros que ça ne marche jamais la première fois. 🙁

"Application-defined or object-defined error"
Dans Virtual Basic voici ce qui est surligné : [b1].Resize(x, 1) = t1

Merci de ton aide
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Toujours pareil,

J'ai peur que ça soit compliqué sauf si je donne un équivalent de mon fichier (ci-joint).

Il s'agit d'extraits Kbis, j'en ai reçu plus de 6000. Il faudrait que j'extraie plusieurs données. La première étant la dénomination sociale. Si, je l'espère, la prochaine macro fonctionne, j'aimerais pouvoir l'adapter car j'ai besoin d'extraire d'autres données (tel le numéro d'identification). Je suppose qu'il faut juste changer le terme à rechercher dans la macro mais est-ce bien tout?


Merci de votre temps.

TofMalik
 

Pièces jointes

Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Bonjour,

Je ne comprends plus rien... la macro fonctionnait hier et en fin d'aprem ça me mets: "Subscript out of range"

Sub cherche()
Ach = InputBox("Achercher")
ligne = 2
Sheets("Feuil1").Columns("A").ClearContents
Set c = Columns("A").Find(Ach, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Do
x = Split(c.Value, ":")
Sheets("feuil1").Cells(ligne, 1) = Trim(x(1))
ligne = ligne + 1
Set c = Columns("A").FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
Sheets("Feuil1").Select

End Sub

Est-ce que quelqu'un peut m'aider s'il vous plaît?

Merci d'avance

TofMalik
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Re

Sans plus de renseignements difficile de debugger
A priori on peut tomber sur un texte ou le ":" n'existe pas
mets ceci
Code:
.....
x = Split(c.Value, ":")
msgbox(c.Value & "  " & c.row)
Sheets("feuil1").Cells(ligne, 1) = Trim(x(1))
.....

le message t'indiquera ce qui est trouvé et la ligne ou cela se situe
Essaie et dis-nous
 
Re : Rechercher un mot dans une liste qui apparaît plusieurs fois

Re

Après avoir lu ton message (et réfléchi plus de deux secondes), j'ai tout simplement essayé de changer le mot que je cherchais. En effet celui que je cherchais était présent dans d'autre partie de mon document, sans les deux points...

Merci encore pierre jean
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…