Rechercher cellule contenant texte puis la coller

Résolu
walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

remplacez
xlWhole

par
xlPart
0
walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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   Statut Membre Dernière intervention  
 
Voici mon fichier :
http://www.cjoint.com/c/EFjpD3TkuCU

Merci !
0
walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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   Statut Modérateur Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > walentai Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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