Remplacement automatique d'une valeure

Bonjour & merci pour votre aide.

Je débute sur excel et recherche une fonction pour remplacer automatiquement une valeur, sans devoir le faire manuellement à base de Rechercher(CTRL F) / remplacer.

J'ai besoin d'importer assez régulièrement des fichiers contenant des informations de pays, mais j'ai besoin que ces noms de pays soient automatiquement renommé, et ce sans devoir à chaque fois passer par la fonction rechercher - remplacer.

J'ai 151 pays différents, le format est toujours identique.

Dans l'idéal, le fait de copier le nom des pays sur un fichier excel, j'obtiendrait directement le nom sous le format voulu, ( valeur que j'attribue ).

Exemple :

Je colle le nom "Espagne" dans mon fichier excel > Idéalement, il est automatiquement remplacé par ESP

Pour "France" > FRA

Pour "Chine" > CHN

Pour "Hong Kong" > HKG

L'idée serait donc de préparer un macro ?(je n'y connais rien) / fichier excel avec les préformatages nécessaires, et lorsque je viens coller ces valeurs dans le fichier, elles sont automatiquement remplacées.

Donc si dans mon document excel j'écris ou colle dans une cellule le mot "Espagne" il est automatiquement remplacé par "ESP"

Question subsidiaire :Une telle fonction est-elle utilisable sur un document Google Sheet ? ( ce serait le rêve ! )

Merci d'avance pour votre aide & expertise.

Salut Loïc et bienvenue sur ce Forum,

Voici ton fichier ci-joint avec le rajout d'une feuille 2 où tu peut tester la procédure changeant tes noms Pays en leur abréviation que se soit un copier / coller ou une saisie manuelle :

Private Sub Worksheet_Change(ByVal Target As Range)
Cells.Replace What:="FRANCE", Replacement:="FR"
Cells.Replace What:="ESPAGNE", Replacement:="ESP"
Cells.Replace What:="CHINE", Replacement:="CHN"
Cells.Replace What:="HONK KONG", Replacement:="HKG"
End Sub

Il n'y a que deux choses qui m’embête :

J'ai 151 pays différents, le format est toujours identique.

Tu va donc être obliger de faire 151 lignes de codes pour chacun de ces Pays :/

Ou alors, tu me fais un fichier avec dans une colonne, les noms des 151 Pays, et dans l'autre, les abréviations.

Question subsidiaire :Une telle fonction est-elle utilisable sur un document Google Sheet ? ( ce serait le rêve ! )

C'est quoi un Google Sheet x) ?

Restant à ta dispo !

16pour-loic.xlsm (17.97 Ko)

Bonjour Juice,

tu a écrit :

C'est quoi un Google Sheet x) ?

Google Sheet est le tableur de la suite Google :

https://sheets-pratique.com/fr/cours

dhany

Bonjour Dhany!

Ah d'accord :0

Merci pour les précisions !

Mais je ne sais pas si sa fonctionnera sur un fichier Google Sheet du coup :p

tu m'y fait penser : j'aurais dû préciser que Google Sheet ne comprend pas le langage VBA !

il utilise un autre langage (dérivé du langage Java) appelé Google Apps Scripts ; plus d'infos ici :

https://sheets-pratique.com/fr/apps-script
"voici un secret qu'tu dois révéler à personne :"

Microsoft déteste Google car il est jaloux des énormes bénéfices de son concurrent ; alors tu penses bien, Microsoft préférerait mourir que filer son langage VBA fétiche à Google ! c'est pour ça qu'le pauv'Google a été obligé d'se rabattre sur la conception d'un autre langage.

dhany

Bonjour,

Personnellement je penserais plutot à une RECHERCHEV comme dans mon fichier

Bonjour à tous,

@JUICE

Grand merci !!!! C'est EXACTEMENT ce dont j'avais besoin et cela fonctionne à merveille.

Alors oui je dois écrire dans le code pour tout les cas particuliers mais il me suffira de le faire une seule fois et par la suite ce seront des heures de travail de gagné... :=)

Merci également aux autres contributeurs pour leurs réponses.

Bonne journée

@ALEKS;

Merci également pour ta proposition, elle est très pertinente mais j'ai besoin pour certains cas d'utiliser d'autres dénominations.

Exemple : Taiwan ne doit pas être noté comme TAI mais TPE

Afrique du Sud Ne doit pas être AFS mais RSA...

Quelques petit détails qui sont résolu par la proposition de Juice, dans laquelle je peux moi même choisir la valeur de remplacement.

Merci tout de même pour ton aide !

Peux-tu m'indiquer l'endroit ou je peux modifier ces lignes de code ? ( dans les menus excel )

Je n'ai aucune idée de l'endroit ou faire cela.

Merci

Re- Loïc !

Ravie que la méthode te plaise

Pour pouvoir aller modifier / rajouter des lignes de code tu doit :

  • Sur le fichier Excel, appuyer sur Alt + F11 pour ouvrir l'éditeur de code
  • En haut à gauche, tu a la liste de tes feuilles :
capture

- Le code se trouve dans l'onglet "Feuille 2"

Une petite astuce pour te simplifier la vie :

Dans le fichier ci-joint je t'ai rajouter une feuille nommée "ASTUCE"

Écris en colonne C les noms de tes Pays en entier

Écris en colonne E les diminutifs de tes Pays

Une fois que tu a tout saisie, tu copie / colle la colonne H dans ta feuille de code et tu peut supprimer la feuille ASTUCE ;D

Sa sera plus simple que tu saisir tes lignes sur l'éditeur VBA

Restant à ta dispo

18pour-loic.xlsm (20.16 Ko)
screen

dhany

Mon infini gratitude, c'est plus que parfait et cela me fait gagner tellement de temps, vous n'imaginez pas :=)

En espérant pouvoir un de ces 4 rendre la pareille à un autre utilisateur du forum.

Bonne journée & joyeuses fêtes de fin d'année !

Bonne fête également

A bientôt!

@Loïc et Juice

bonne journée à vous aussi, et joyeuses fêtes aussi !

dhany

Bonjour,

J'arrive après mais pour te répondre, tout les code peuvent être changer dans la feuille correspondante

Rechercher des sujets similaires à "remplacement automatique valeure"