Fonction visual basic [Résolu]

Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
- - Dernière réponse : mchotard
Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
- 26 juil. 2019 à 18:34
Bonjour,
Quelqu'un pourrait-il m'aider écrire une macro en visual basic.
Voici mon besoin
Si combox4 = "A", alors textbox3 = feuille constantes cellule G69
Si combox4 = "B", alors textbox3 = feuille constantes cellule G70
Si combox4 = "C", alors textbox3 = feuille constantes cellule G71
Si combox4 = "D", alors textbox3 = feuille constantes cellule G72
Si combox4 = "E", alors textbox3 = feuille constantes cellule G73
Si combox4 = "EXT", alors textbox3 = feuille constantes cellule G74
Si combox4 = "Garderie", alors textbox3 = feuille constantes cellule G75
Merci pour votre aide
CDLT
Configuration: Windows / Chrome 75.0.3770.142
Afficher la suite 

5 réponses

Messages postés
11197
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2019
1453
0
Merci
Bonjour

IF combox4 = "A" THEN textbox3.value = sheets("constantes").Range("G69")

Le reste selon le même modèle

Cdlmnt
Via
Commenter la réponse de via55
Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
19
0
Merci
Merci via55 pour ta réponse
malheureusement quand je mets "A" dans la combobox4, la valeur de la cellule G69 de la feuille "constantes" n’apparaît pas automatiquement dans ma textbox3.

Pour info, j'ai une userform1 dans laquelle j'inscris mes variables A-B etc avec une liste déroulante dans ma combobox4 et je voudrais qu'en fonction de ces lettres, les valeurs de ma cellule G69 et autres, viennent s'inscrire automatiquement dans la textbox3.
Merci si tu parviens à m'aider
CDLMNT
Commenter la réponse de mchotard
Messages postés
11197
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2019
1453
0
Merci
Il faut évidemment mettre l'instruction dans l’événement d'un changement dans la combobox

Private Sub ComboBox4_Change()
IF combox4 = "A" THEN textbox3.value = sheets("constantes").Range("G69")
... suite des IF
End Sub
mchotard
Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
19 -
Désolé via55 mais ma textbox3 n'affiche toujours pas le résultat de la cellule correspondant. Voilà la macro que j'ai écrit. J'ai sûrement loupé une étape pour faire apparaître la valeur de chaucune des cellules. Pour info, dans les cellules voilà ce que je devrais avoir

Combobox4 si A textbox16 = 6032
B 2801
C 4454
D 8274
E 22487
EXT 1301
Garderie 27725


Private Sub ComboBox4_Change()
If ComboBox4 = "A" Then TextBox3.Value = Sheets("constantes").Range("G69")
If ComboBox4 = "B" Then TextBox3.Value = Sheets("constantes").Range("G70")
If ComboBox4 = "C" Then TextBox3.Value = Sheets("constantes").Range("G71")
If ComboBox4 = "D" Then TextBox3.Value = Sheets("constantes").Range("G72")
If ComboBox4 = "E" Then TextBox3.Value = Sheets("constantes").Range("G73")
If ComboBox4 = "EXT" Then TextBox3.Value = Sheets("constantes").Range("G74")
If ComboBox4 = "Garderie" Then TextBox3.Value = Sheets("constantes").Range("G75")

End Sub

Comme tu le verras, dans ton exemple, j'ai remplacé Combox4 par Combobox, ai-je bien fait ?
Merci de poursuivre ton aide
Commenter la réponse de via55
Messages postés
11197
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2019
1453
0
Merci
Fournis moi ton fichier que je regarde ce qui cloche
Poste le sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici
mchotard
Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
19 -
Lien de mon fichier simplifié
https://we.tl/t-uPTvgk5FRG

Est ce bon pour le fichier car je ne suis pas un pro de ce genre d'exercice
Encore merci et bonsoir
Commenter la réponse de via55
Messages postés
11197
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2019
1453
0
Merci
Re

Évidement tu as mis mes lignes de codes dans un module au lieu de les lier au textbox de l'UF
Il faut dans le VBA faire afficher l'UF et doublecliquer sur le tetxtbox pour faire apparaitre la page avec les macros liées

Cette Private SUb existe déjà et au changement du textbox fait afficher le tarif par une RECHERCHEV
Donc au lieu d'une série de IF j'ai appliqué la même recette en ayant d'abord nommé numero la plage de numerotation dans constantes, c'est plus court et plus élégant
https://mon-partage.fr/f/gQYH0xS2/

Demain je suis absent mais je serai de retour samedi
mchotard
Messages postés
172
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
25 septembre 2019
19 -
Super content
Un très cordial merci pour ta patience et ta compétence.
A+
Cordialement
Commenter la réponse de via55