Fonction visual basic

Résolu
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

5 réponses

  1. 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
    0
    1. Super content
      Un très cordial merci pour ta patience et ta compétence.
      A+
      Cordialement
      0
  2. 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
    0
    1. 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
      0
  3. 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
    0
    1. 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
      0
  4. 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
    0
    1. Bonjour

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

      Le reste selon le même modèle

      Cdlmnt
      Via
      0