[excel] relation combobox et textbox

Résolu
Bonjour,
j'ai une feuille avec 6 colonnes ( la feuille s appelle "2012")

|1|jour1|jour2|jour3|jour4|jour5|
|2|jour6|jour7|jour8|jour9|jour10|
|3|jour11|jour12|jour13|jour14|jour15|
...

Dans un userform j ai un combobox qui affiche la premiere colonne(soit1,2,3...)
et un textbox qui doit afficher la valeur de la colonne 3 en fonction du combobox

soit par exemple
combobox : 1 textbox : jour2
combobox : 3 textbox : jour12

comment dois je procéder ?

merci pour votre aide

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Alors :

    tu dois avoir sur le vba :
    private sub combobox_afterupdate()


    donc tu met ca dedans :

    private sub combobox_afterupdate()
    
    Dim a As Integer
    
    For a = 1 To 9999
    
    If nom_de_combobox = Range("a" & a).Value Then
    
    nom_de_textbox.Value = Range("c" & a).Value
    
    GoTo fin:
    
    End If
    
    Next
    
    fin:
    end sub
    


    Ensuite c'est à modifié en fonction de tes colonnes. mais cela devrai marché
    1. Bonjour,

      Double click sur ta combobox, et tu modifie la procédure vba (en haut a droite) qui doit être "change" par "afterupdate".

      ensuite tu met le code VBA qui va bien.

      Si tu sais pas faire du VBA on peux t'aider.

      Cordialement,
      1. Merci pour ta reponse eljojo

        je ne connais pas beaucoup le vba et je ne sais pas trop comment faire pour construire ce code
        1. Private Sub ComboSemaine_AfterUpdate()
          Dim a As Integer
          For a = 1 To 9999
          If ComboSemaine = Range("a" & a).Value Then
          TextBox2.Value = Range("c" & a).Value
          GoTo fin:
          End If
          Next
          fin:
          End Sub


          J'ai bien noté ceci mais cela n'alimente pas ma textbox.
          Cependant excel n'y trouve pas d'erreur

          il doit me manquer une petite chose encore
          1. Bonjour,

            Il ne prennait pas les nombre du coup celui la devrai marcher

            Private Sub ComboSemaine_AfterUpdate()
            Dim a As Integer
            For a = 1 To 9999
            If Val(ComboSemaine.Value) = Range("b" & a).Value Then
            TextBox1.Value = Range("d" & a).Value
            GoTo fin:
            End If
            Next
            fin:
            End Sub
            1. Grand merci eljojo_e

              J'ai juste remplacer
              Private Sub ComboSemaine_AfterUpdate()
              par
              Private Sub ComboSemaine_Change()

              et cela marche très bien :)
              (je ne sais pas trop pourquoi d'ailleurs^^)

              Merci pour le coup de main