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

Recherche de valeur dans un chaine de caractère

  • Initiateur de la discussion Initiateur de la discussion les_sonics
  • Date de début Date de début

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 !

L

les_sonics

Guest
Bonjour,
je souhaite attacher des valeurs à des données que je souhaite regrouper.
Pour cela, j'ai besoin de rechercher, dans une chaine de caractère cible, des valeurs possibles.

Exemple : si je vois les valeurs "newsletter" OU "mail" dans une chaine de caractère cible, alors je veux lui attacher le code de regroupement "Newsletter".

Ainsi dans la chaine de caratère "webmail1d.orange.fr / referral" figure l'élément "mail" donc je peux lui rattacher la valeur de regourpement "Newsletter".

Fichier joint pour illustration

Merci à tous !
 

Pièces jointes

Re : Recherche de valeur dans un chaine de caractère

Salut les_sonics,

Utilise une petite formule comme celle-ci (ou A2 contient l'adresse mèl):
=SI(OU(NON(ESTERREUR(CHERCHE("mail";A2)));NON(ESTERREUR(CHERCHE("newsletter";A2))));"Newsletter";"N/A")

Bon courage,
 
Re : Recherche de valeur dans un chaine de caractère

Merci bcp Jam,
la fonction marche au poil mais problème avec cette solution : elle n'est pas variabilisée donc :
1. assez lourde quand les critères de recherche sont plus nombreux (ex sur le doc "baby-bebe-enfant-bnp-bugab-mesdou-mesenv" sont à grouper sous la valeur "Sites externes".
2. très difficilement applicable quand tes correspondances sont dans une table comme sur le doc (A1:B9)...

Les_sonics
 
Re : Recherche de valeur dans un chaine de caractère

les_sonics,

Je crains fort que tu ne sois obligé d'en passer par une fonction en VBA. Car tu as plusieurs "opérations":
- parcourir une liste et chercher l'éventuelle correspondance dans une chaîne de caractère ce qui ressemble fort à une boucle.

Bon courage,
 
Re : Recherche de valeur dans un chaine de caractère

Bonjour le fil 🙂,
Une petite fonction VBA 😛
Code:
Function Référencement(PlageRéf As Range, Décalage As Integer, Texte As String) As String
Dim Cellule As Range, Temp, I As Integer
Application.Volatile
If Texte = "" Then Exit Function
For Each Cellule In PlageRéf
Temp = Split(Cellule, "-")
For I = LBound(Temp) To UBound(Temp)
If InStr(1, Texte, Temp(I), vbTextCompare) > 0 Then
Référencement = Référencement & "-" & Cellule.Offset(0, Décalage)
End If
Next I
Next Cellule
If Référencement <> "" Then
Référencement = Right(Référencement, Len(Référencement) - 1)
Else
Référencement = "Divers"
End If
End Function
et il suffit en F5
Code:
=Référencement($A$2:$A$9;1;D5)
à glisser vers le bas (et de penser à remettre le calcul automatique 😡).
Les résultats ne sont pas exactement identiques aux tiens, mais ils me paraissent plus logiques 🙄...
Bonne fin de journée 😎
 
Re : Recherche de valeur dans un chaine de caractère

Merci infiniment JNP. Ta macro marche au poil et elle me tire une belle épine du pied.
Si tu aimes le pinard, laisse moi ton adresse que je t'en envoie une en remerciement.

Excellent WE
Nicolas
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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