Fonction sur base de données

Bonjour à toute la communauté Excel,

je suis étudiant en gestion de projet Web et je suis face à un mur. J'ai un projet que je fais sur l'importance de la qualité d'une Bases de données pour les mailing, emailing, etc...

J'ai donc un fichier de 500 emails dans une colonne A (A1-A501) avec des emails en .com, .fr, .uk, .de.

J'aimerais savoir si vous connaissiez une formule qui:

en fonction de l'extension de l'email, il m'affiche en colonne B, FRANCE, UNITED-KINGDOM, GERMANY...

Je n'arrive pas à trouver ce que je veux exactement...Je vois la fonction recherche mais je n'arrive pas a dire IF(A contient ".fr", affiche France a coté de sa case...)

Je vous remercie pour votre aide précieuse et merci encore pour ce forum, j'apprends énormément avec.

Pierre

s'il n'y a que ces 4 extensions, tu peux essayer:

=si(droite(A1;3)=".fr";"France";si(droite(A1;3)=".de";"Allemagne";si(droite(A1;3)=".uk";"United Kingdom";"International")))

s'il y en a plus, créer un petit tableau et faire une recherchev()

J'attends ta réponse.

Souri84

hello

et que vas-tu faire avec les .com (nombreux), les .org, les .net, les .biz (rares) etc.

Bonjour,

Voilà une proposition... à enrichir !

https://www.excel-pratique.com/~files/doc/PaysSelonMail.xls

Cordialement,

V_Elbie

Ce n'est pas important en fait.

Ce que je veux démontrer,c'est que grace à l'extension d'un mail .fr, on peut facilement recréer une segmentation LANGUE. Je sais que je ne couvrirais pas tous les possibilités mais ca permet gràce a cette formule de pouvoir dire:

"bon pour mon formulaire de 1999, j'avais oublié de demander le pays mais je veux envoyé un mailing quand meme en francais et en Anglais...comment faire??...déjà changer mon formulaire d'inscription en rajoutant le pays et extraire d'aprés l'extension MAIL, le pays correspondant. Pour les .com, je les passe en language anglais par exemple. Avec une marge d'erreur bien sur...c'est juste resegmenté une BDD à partir d'une erreur.

Celà ne marche pas la requete...

Imaginons que je veuille juste afficher en colonne B(donc de toutes mes données en A1;A501), FRANCE si on trouve dans l'email de la colonne A, l'extension .FR.

Avec la formule, celà m'affiche #NAME?, et je comprends pas trop la commande avec le "droite".

Merci bcp

Merci All pour vos réponses.

V_elbie: dans ta formule tu es obligé de rajouté manuellement les informations de la case TYPE ? car le soucis c'est que j'ai 500 mails...donc je n'imagine même pas si j'en ai 20 000.

OUPS: je viens de me rendre compte que mon EXCEL est en anglais...donc je suppose qu'il ne prends en compte que les formules en ANGLAIS, non? c'est peut etre pour cà que la soluce ne marchait pas ...

Re,

Dans la colonne Type, il suffit que tu rentres une fois et une seule toutes les extensions que tu es susceptible de trouver, et à quoi tu les associes. Tu es bien obligé de le faire, Excel ne va pas les deviner tout seul !

Tu dois le faire dans la zone "verte" pour prise en compte dans la formule.

Une fois cela fait, peux utiliser la formule sur les milliers d'adresses que tu possèdes.

Cordialement,

V_Elbie

Edit

Fichier modifié pour permettre l'ajout de nouvelles extensions en fin de liste

https://www.excel-pratique.com/~files/doc/SuQykPaysSelonMail.xls

Bonjour

La fonction DROITE(A1;3) extrait les 3 caractères de droite de la cellule A1

donc, appliquée à A1 contenant Moncorrespondant@alice.fr; elle donne pour résultat .fr

Par contre .FR n'est pas .fr

tu dois complérer la formule par

=SI(OU(DROITE(A1;3)=".fr";DROITE(A1;3)=".FR");"France";"")

an anglais

=IF(OR(RIGHT(A23;3)=".fr";RIGHT(A23;3)=".FR");"France";"")

Cordialement

J'ai donc corrigé :

=IF(RIGHT(A5;3)=".fr";"France";IF(RIGHT(A5;3)=".de";"Allemagne";IF(RIGHT(A5;3)=".uk";"United Kingdom";"International")))

Et ca marche !! DONC RESOLU!!

Par contre, est ce que vous pouvez m'expliquer le fonctionnement de la formule...

je ne comprend pas le RIGHT(A5;3)...right = colonne à droite?

Si j'ai besoin de faire la meme chose mais avec plus de 3 recherche .fr, .us, .com, .es, .po...que dois-je faire? et si je dois afficher le résultats dans une case qui n'est pas a coté de la colonne email (Ex : email en colonne B et affichage en colonne F)

EDIT: OLALA mais vous répondez trop trop trop vite...j'ai jamais vu cà...j'ai meme pas le temps de poser mes questions que les réponses sont déjà sorties...

Génial !!!

3tableau-test.xlsx (52.85 Ko)

Re,

Je n'ai pas la version anglaise de Excel, mais il me semble que :

DROITE=RIGHT

INDEX=INDEX

EQUIV=MATCH

NBCAR=LEN

CHERCHE= ???

DECALER=OFFSET

Fonction à traduire (Codification et Extensions sont 2 zones nommées dynamiquement avec DECALER)

=INDEX(Codification;EQUIV(DROITE(C2;NBCAR(C2)-CHERCHE(".";C2;CHERCHE("@";C2;1))+1);Extensions;0);2)

Ca devrait donner...

=INDEX(Codification;MATCH(RIGHT(C2;LEN(C2)-???(".";C2;???("@";C2;1))+1);Extensions;0);2)

Peut-être quelqu'un connaît-il le nom de la fonction CHERCHE en anglais...

Cordialement,

V_Elbie

Bonjour

SEARCH

Cordialement

Bonjour

Par contre, je pense que dans ton cas, la solution de V_Elbie est la mieux adaptée

https://www.excel-pratique.com/~files/doc/PaysSelonMailV2.xls

Cordialement

Merci Amadéus, j'enrichis mon lexique bilingue Excel...

Cordialement

V_Elbie

PS : je ne dirai à personne que dans une autre vie, j'ai été prof d'anglais !

Bonjour

Pour V_Elbie, notre ami auteur du Post et ceux que cela intéresse.

https://www.excel-pratique.com/~files/doc/VBA_Liste.zip

Cordialement

elles sont vraiment géniales ces formules... va vraiment falloir que je me mettes à l'equiv() et l'index()...

Merci Amadéus, ça va bien m'être utile... et je n'avais pas encore pris le temps de chercher.

Pour souri84 et tous ceux que ça intéresse, une excellente explication de index/equiv sur le lien suivant :

https://www.excel-pratique.com/indexequiv.htm

Cordialement,

V_Elbie

Bonjour, Salut V_Elbie,

La fonction anglaise de CHERCHE est SEARCH.

Tiens une astuce pour trouver les formules en anglais(en tout cas je l'utilise souvent). Enregistre une macro en redigeant la formule dans une cellule. Peu importe le résultat de cette formule. Arrête ta macro et regarde sur le module VBA. Tu as le nom anglais de la formule. A moins que tu sois parfaitment anglophone, c'est utile.

PS : une différence de taille, les points virgules sont remplacés par virgules dans les formules anglaises.

Excellente idée Raja, je note...

@+

V_Elbie

Rechercher des sujets similaires à "fonction base donnees"