Programmation VBA

Fermé
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016 - Modifié par Helimeleck@3 le 3/05/2016 à 10:07
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016 - 3 mai 2016 à 12:07
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

Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181
3 mai 2016 à 10:19
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() ?
0
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016
3 mai 2016 à 10:43
Comment tu t'y prends?
0
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181 > Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016
Modifié par Arkana0 le 3/05/2016 à 11:00
Et 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.
0
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016
3 mai 2016 à 11:01
Ok merci j'essaye et je te redis.
0
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016
3 mai 2016 à 11:15
C'est bon sa marche merci, pour le tableau maintenant il faut faire un lien avec la macro.

0
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181
3 mai 2016 à 11:48
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.
0
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016 > Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023
3 mai 2016 à 11:55
OK sa marche merci, j'essaie et je te redis .
0
Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016 > Helimeleck@3 Messages postés 10 Date d'inscription dimanche 10 avril 2016 Statut Membre Dernière intervention 11 mai 2016
3 mai 2016 à 12:07
Arkana0, j'arrive pas à faire le lien!!!!!!!!!!!!!!
0