Rechercher cellule contenant texte puis la coller

Résolu/Fermé
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015 - Modifié par walentai le 9/06/2015 à 11:49
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015 - 11 juin 2015 à 09:03
Bonjour à tous,

Je me permets de vous solliciter étant donné que je rencontre une petite difficulté avec une macro permettant de :

Rechercher une valeur contenue dans la colonne A tableau 1.
Vérifier si cette valeur est présente dans la colonne A du tableau 2.
Si oui, alors il faut que la colonne B du tableau 1 soit collée dans la colonne B du tableau 2.

J'ai réussi à programmer ce fonctionnement toutefois, le mot recherché n'est pas forcément identique, il peut être contenu dans une expression.

Ex : Si je recherche le mot "FORUM", je voudrais que si le l'expression "FORUM1" existe alors la cellule B du tableau 1 soit collée dans le tableau 2.

Pourriez-vous svp m'aider là-dessus? (Ci-dessous la partie de monde concernée)

Merci!

For Each Cel In plref 'boucle sur toutes les cellules de la plage plref

If Cel.Value <> "" Then 'condition 1 : si la cellule n'est pas vide
Set r = orech.Columns(colrech).Find(Cel.Value, , xlValues, xlWhole) 'définit la recherche r

If Not r Is Nothing Then 'condition 2 : si il existe au moins une occurrence trouvée
pa = r.Address 'définit l'adresse pa de la première occurrence trouvée

Do 'exécute
orech.Cells(r.Row, cac).Copy oref.Cells(Cel.Row, cdst)
Set r = orech.Columns(colrech).FindNext(r) 'redéfinit la recherche r (occurrence suivante)

Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe des occurrences ailleurs au'en pa


End If 'fin de la condition 2
End If 'fin de la condition 1
Next Cel 'Boucle sur cellule suivante

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
9 juin 2015 à 12:08
Bonjour,

remplacez
xlWhole

par
xlPart
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 13:22
Bonjour merci pour votre réponse, j'ai remplacéxlWhole par xlPart mais j'ai toujours le même problème. Cela peut-il venir d'autre chose?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
9 juin 2015 à 14:13
Re,

mettez votre fichier a dispo, car avec les tests que j'ai faits ca marche

Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 17:31
Voici mon fichier :
http://www.cjoint.com/c/EFjpD3TkuCU

Merci !
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 17:51
SI je recherche les termes tels qu'il sont ma liste de recherche le programme fonctionne en revanche dès que ces termes sont suivis d'autres caractères je n'obtiens aucun résultat. Exemple : LGR -> ça fonctionne, LGR820-> ça ne fonctionne pas
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 18:06
Re,

Faudrait deja expliquer comment ca marche !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Parce qu'il y a comme un decalage entre les infos colonnes et les texte inputbox
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 18:19
Désolé. Il faut réaliser l'essai à partir de l'onglet ECU60. Il faut cliquer sur le bouton "proposition ecu". Dans la première boite de dialogue il faut entrer la colonne E et dans la seconde boîte de dialogue la colonne F. Il ne faut pas tenir compte des autres onglets.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 20:09
Re,

avec PTR004PO et PTR ou LGRXXX et LGR pour la recherche ca marche, mais ce que je ne comprends pas, c'est pourquoi vous faites la recherche sur toute la colonne B de ECU alors que vous ecrivez toujours dans la meme cellule F de ECU60 (onglet test) !!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
9 juin 2015 à 20:24
Dans l'onglet ECU60, si je met LGRXXX dans la colonne système élémentaire (colonne E) et que je fais tourner la macro, la cellule de la colonne ECU (colonne F) est vide. Alors que si j'écris LGR, la macro fonctionne. J'ai bien remplacé xlWhole par xlPart comme vous me l'avez indiqué.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
10 juin 2015 à 14:43
Au fait, rien à voir, mais je ne t'ai pas salué f894009. Désolé.
Salutations!
Tu me permets de participer à ce thread?
N'hésite pas à rajouter tes connaissances à cette discussion.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
10 juin 2015 à 15:22
Salut,

Y a pas de lezard, et ce matin je n'etais pas dispo,mais vous avez avance du moins dans un semblant d'explication.

Donc, pour ce sujet, il semblerait que les trois premiere lettres soit le critere si walentai nous a tout dit (puisque au depart c'etait tout l'inverse de ce qu'il demande maintenant)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
10 juin 2015 à 15:25
puisque au depart c'etait tout l'inverse de ce qu'il demande maintenant)
En fait non. Il demande toujours de trouver LPGxxxx dans LPG. C'est moi qui essaye de voir la méthode la plus rentable, en fonction, notamment du nombre de lignes à traiter...
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
Modifié par f894009 le 10/06/2015 à 15:29
Re,

Relis le sujet du depart avec FORUM et FORUM1, sinon, j'aurai procede différemment
0
walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
Modifié par walentai le 10/06/2015 à 20:16
En effet, à partir d'un repère (LGRxxxx, LGPxxxx, etc.) provenant d'une extraction que je colle dans l'onglet ECU60, je souhaite associer ce repère au repère composé de 3 lettres (LGR, LGP, etc.) dans l'onglet ECU. Une fois l'association réalisée, il faudrait copier le numéro du repère composé de 3 lettres dans l'onglet ECU60 à droite du repère complet. ;-)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > walentai Messages postés 14 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 11 juin 2015
10 juin 2015 à 20:24
Re,

La ca va mieux. Donc les xxxx apres les trois lettres n'ont pas d'importance pour votre recherche ????

Question posee par pijaku, le nombre de lignes de votre extaction est important (1000 a 5000), tres important (sup a 5000)
0