Se servir d'une liste déroulante dans un formulaire VBA

aurelien.francois

XLDnaute Nouveau
Bonjour, j'aimerais créer un formulaire qui me permettrait de modifier une liste d'informations selon le client sélectionné.
Pour mieux comprendre, regardez l'exemple attaché.

J'ai déjà créé le formulaire sous VBA, mais j'ai vraiment du mal avec les formules.

1 - Tout d'abord, je n'arrive pas à lier la case "NOM" (nommée "listeclient") avec la liste de clients présente dans mon fichier excel (nommée "nomclients")
2- Ensuite, j'aimerais que lorsque je click sur "Valider", les données se remplissent, en fonction du client sélectionné.
3- Enfin, j'aimerais que l'emplacement où seront remplis les données ne soit pas rentré en "dur" dans VBA, c'est-à-dire par exemple "Range("Feuil!C10").Value = tarifjour". Je veux éviter cela car j'ai déjà une autre macro qui insère des colonnes à droite à gauche selon certains critères.

Merci d'avance à ceux qui se pencheront sur ce problème !
 

Pièces jointes

  • exemple.xls
    26 KB · Affichages: 126
  • exemple.xls
    26 KB · Affichages: 118
  • exemple.xls
    26 KB · Affichages: 121

pierrejean

XLDnaute Barbatruc
Re : Se servir d'une liste déroulante dans un formulaire VBA

bonjour aurelien.françois

Une solution
 

Pièces jointes

  • aurelienexemple.zip
    10.1 KB · Affichages: 78
  • aurelienexemple.zip
    10.1 KB · Affichages: 81
  • aurelienexemple.zip
    10.1 KB · Affichages: 85

aurelien.francois

XLDnaute Nouveau
Re : Se servir d'une liste déroulante dans un formulaire VBA

Juste une petite question pierre jean, comment interprêter :
Code:
Set c = ActiveSheet.Rows(8).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
J'ai besoin de comprendre cette ligne pour pouvoir l'adapter à mon travail.
La combobox1 fait référence à la liste déroulante apparament, mais comment l'avez vous définie ?
 

aurelien.francois

XLDnaute Nouveau
Re : Se servir d'une liste déroulante dans un formulaire VBA

Ah oui aussi, j'ai un souci lorsque j'insère une ligne (ce qui vient surement du fait que les données sont prises avec la formule rows()
Comment contourner le problème ? VBA ne peut pas gérer activement l'ajout de lignes-cellules-colonnes ?
 

pierrejean

XLDnaute Barbatruc
Re : Se servir d'une liste déroulante dans un formulaire VBA

Re

Pour la ligne:

Code:
Set c = ActiveSheet.Rows(8).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)

explication:
c est une cellule, c'est celle pour laquelle la recherche (Find) dans la ligne 8 (ActiveSheet.Rows(8).) de la valeur(LookIn:=xlValues) exacte(lookat:=xlWhole) est un succes (not c is nothing)

Vba peut mais sous condition de lui donner un minimum de reperes

Voila avec la recherche des lignes ou sont notées Tarif et Suppléments (Ces mots doivent imperativemant etre conservés !!!)

Attention aux ecritures: J'ai perdu 1/4 h a cause de l'espace situé derrière le mot Tarif
 

Pièces jointes

  • aurelienexemple.zip
    12.3 KB · Affichages: 66
  • aurelienexemple.zip
    12.3 KB · Affichages: 72
  • aurelienexemple.zip
    12.3 KB · Affichages: 62

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 558
Messages
2 089 595
Membres
104 219
dernier inscrit
agateponcet