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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 ?
 
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 ?
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
36
Affichages
3 K
Retour