Recherche TEXTE dans EXCEL 2007
Fredeeee
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans la colonne A de la feuille 1, j'ai des noms de famille- exemple : DUPONT en cellule A1
Dans la colonne A de la feuille 2, j'ai du texte - exemple :
- Cellule A1 : Paul DURAND - rappeler le 1er juillet
- Cellule A2 : DUBOIS - très intéressé
- Cellule A3 : DUPONT Jacques - inscription
Je voudrais aller chercher dans la colonne A de la feuille 2 si le contenu de la cellule A1 de ma feuille 1 (DUPONT) est trouvé et insérer dans dans la cellule B1 de la feuille 1 le contenu de la cellule B3 de la feuille 2 (la cellule A3 contenant DUPONT).
Pis je trouve pas... Merci !
Dans la colonne A de la feuille 1, j'ai des noms de famille- exemple : DUPONT en cellule A1
Dans la colonne A de la feuille 2, j'ai du texte - exemple :
- Cellule A1 : Paul DURAND - rappeler le 1er juillet
- Cellule A2 : DUBOIS - très intéressé
- Cellule A3 : DUPONT Jacques - inscription
Je voudrais aller chercher dans la colonne A de la feuille 2 si le contenu de la cellule A1 de ma feuille 1 (DUPONT) est trouvé et insérer dans dans la cellule B1 de la feuille 1 le contenu de la cellule B3 de la feuille 2 (la cellule A3 contenant DUPONT).
Pis je trouve pas... Merci !
1 réponse
-
Bonjour,
Il s'agit certainement d'une RECHERCHEV() avec valeur proche. Comme ceci :
=RECHERCHEV(A1;Feuil2!A1:B100;2;VRAI)
A adapter.
-
-
-
-
Bon.
Tu as vu que pour certaines valeurs, cela fonctionnait, mais pas pour toutes...
Dans la liste : DURAND, DUPOND, DUBOIS, il te trouve "DUBOIS - très intéressé", "DURAND - rappeler le 1er juillet" mais pas "Jacques DUPOND"...
Pour réaliser ce que tu souhaites, il convient de passer par du VBA, du moins il me semble qu'excel a atteinds là les limites de ces formules...
Tu dis! -
Ma solution VBA, par fonction personnalisée :
1- ouvre ton classeur,
2- taper ALT+F11,
3- Insertion/Module
4- copier-coller ce code dans la fenêtre du module :Function RecherchePartielle(Cel As Range, Plage As Range) As String Dim Trouve As Range With Plage Set Trouve = .Cells.Find(Cel.Value, LookIn:=xlValues, lookat:=xlPart) If Trouve Is Nothing Then RecherchePartielle = "Valeur non trouvée" Else If InStr(Trouve.Value, "-") = 0 Then RecherchePartielle = Trouve.Value Else RecherchePartielle = Mid(Trouve.Value, InStr(Trouve.Value, "-") + 2, Len(Trouve.Value) - InStr(Trouve.Value, "-")) End If End If End With End Function
5- fermer Microsoft Visual Basic
6- Dans la cellule ou l'on veux le résultat (exemple : Feuil2 C2) taper la formule :
=RecherchePartielle(A2;Feuil1!A$1:A$4) ou A2 est la valeur à chercher et Feuil1!A$1:A$4 la plage ou chercher...
Un exemple ici.........
-