Fonction visual basic

Résolu
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -  
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -
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. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

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

    Le reste selon le même modèle

    Cdlmnt
    Via
    0
  2. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    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
  3. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      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. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      Super content
      Un très cordial merci pour ta patience et ta compétence.
      A+
      Cordialement
      0