Programmation VBA

Bonjour,

je débute à peine avec VBA et je voudrais créer une macro dans laquelle j'ai 4 champs Adresse , ville , pays et CP de sorte que lorsque je saisie l'adresse j'ai automatiquement le nom de la ville et du Pays qui apparaissent dans leur champs .

Besoin d'aide s'il vous plait!

voici mon début





3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour, n'aurais-tu pas plus vite fait de créer un tableau de correspondance Adresse - Ville - Pays - CP et ensuite d'utiliser la fonction RECHERCHEV() ?
    1. Comment tu t'y prends?
    2. Modérateur
      @Helimeleck@3Et bien tu crées ton tableau de correspondance dans un coin de la feuille, ou sur une feuille à part.
      Je vais partir du principe qu'il est sur la même feuille, des colonnes A (adresse) à D (CP) pour la suite.

      Là où tu veux que les infos se renseignent automatiquement, tu tapes la formule :
      =RECHERCHEV(La case avec l'adresse;$A$1:$B$x;y;FAUX)

      Où x est la dernière ligne du tableau de correspondance et y la colonne de ce tableau à renvoyer.

      Par exemple, si tu veux renvoyer la ville, il faudra y = 2. y = 3 pour le pays, etc.

      Remarque : ça implique qu'une adresse corresponde à une seule ville pour que ça marche. Et ça n'est pas forcément le cas, ça c'est seulement toi qui le saura.

      Le même principe peut s'appliquer en ne faisant le remplissage automatique qu'à partir de la ville, ou avec un autre critère tel qu'une référence.
  2. C'est bon sa marche merci, pour le tableau maintenant il faut faire un lien avec la macro.

    1. Modérateur
      Deux possibilités : soit tu veux que ça change quand on y apporte une correction, dans ce cas il faudra utiliser une formule :
      Cells(x,y).FormulaLocal = "=RECHERCHEV(...)"

      Et dans ce cas, attention aux variables qu'il faut insérer dans la chaîne de caractères.
      Autrement :
      Cells(x,y).Value = vlookup(...)

      Vlookup étant l'équivalent de recherchev() en vba.
    2. @Arkana0OK sa marche merci, j'essaie et je te redis .
    3. @Helimeleck@3Arkana0, j'arrive pas à faire le lien!!!!!!!!!!!!!!