Charger des données dans une textbox a partir d'un feuille excel

Résolu
chiken-samada Messages postés 6 Statut Membre -  
 Maurice -
Bonjour,

Je suis débutant dans la programmation VBA.
Je vous explique mon problème, j'ai sur des feuilles (4 feuilles) un tableau avec des données (colonne B) et des coûts (colonne C).
Je recherche depuis hier, en vain, pour savoir comment on fait pour afficher les coûts en fonction des données que j'aurai choisi dans une combobox ? coté.
J'ai déja programmer ma combobox pour afficher les données des 4 feuilles en fonction de 4 bouton commandes que j'ai mis dans un userform.
Je choisi une feuille dans mon userform, ma combobox se charge et je choisit une donnée et ... je suis bloqué :(.

Je souhaiterai ensuite pouvoir modifier ces données en ecrivant dans la textbox.

Dans un 2eme temps, je voudrais pouvoir ajouter des données avec des coûts.

Quels fonctions je devrais utiliser ?

Merci d'avance pour votre aide.

Cordialement

5 réponses

  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Ce serait plus simple de comprendre avec votre fichier comme exemple sur https://www.cjoint.com/ et poster le lien.

    0
    1. chiken-samada Messages postés 6 Statut Membre
       
      Bonjour,

      http://www.cjoint.com/15fe/EBCmiVnQI9U.htm
      Voici le liens, mais ça ne fonctionne pas de chez moi :(
      Et vous ?
      0
  2. Maurice
     
    Bonjour
    non plus tu peux le refaire

    A+
    Maurice
    0
  3. Maurice
     
    Bonjour
    Voila un debut
    Private Sub btnMetz_Click()
    Label2.Caption = "Usine de Metz"
    ComboBox1.Enabled = True
       With Feuil2
             .Select
           derligne1 = .Range("B" & Rows.Count).End(xlUp).Row
           ComboBox1.Clear
             For L = 3 To .Range("B" & Rows.Count).End(xlUp).Row
                ComboBox1.AddItem .Range("B" & L)
             Next
       End With
    End Sub
    
    Private Sub ComboBox1_Change()
        ' activer la textbox1
            TextBox1.Enabled = True
    Lig = ComboBox1.ListIndex + 3
       TextBox1.Value = Cells(Lig, 3).Value
    End Sub
    

    A+
    Maurice
    0
    1. chiken-samada Messages postés 6 Statut Membre
       
      Super Maurice, ça fonctionne parfaitement pour afficher la valeur en fonction du choix dans la combobox !
      Merci beaucoup pour ton aide. :))

      Maintenant je n'ai plus qu'a programmer la modification.
      Si quelqu'un a des pistes je suis preneur. Je vais essayer de mon côté.
      0
      1. Maurice > chiken-samada Messages postés 6 Statut Membre
         
        Bonjour
        tu veux modifier la textbox ?
        A+
        Maurice
        0
    2. chiken-samada Messages postés 6 Statut Membre
       
      Je voudrais changer la valeur des cellules en écrivant dans la textbox et en cliquant sur modifier pour confirmer.
      0
    3. chiken-samada Messages postés 6 Statut Membre
       
      J'ai réussi, voici le code (tout bête une fois que j'ai trouvé) :

      Private Sub btnmodifier_Click()
      'changer la valeur cellule par valeur textbox
      i = ComboBox1.ListIndex + 3
      Cells(i, 3) = TextBox1.Value
      End Sub

      En tout cas merci pour ton aide Maurice :)
      Je met le problème en résolu !
      0
      1. Maurice > chiken-samada Messages postés 6 Statut Membre
         
        bonjour
        il faut mettre un val ou cdbl pour avoir des chiffre car la textbox est du text
        A+
        Maurice
        0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Maurice
     
    Bonjour
    pour la modife regarde bien
    Dim Lig As Long
    
    Private Sub UserForm_Initialize()
    
    End Sub
    
    Private Sub UserForm_Activate()
        ' centrer le titre de la box
            Label1.TextAlign = fmTextAlignCenter
    End Sub
    
    Private Sub btnCaen_Click()
    Label2.Caption = "Usine de Caen"
    ComboBox1.Enabled = True
       With Feuil1
             .Select
           derligne1 = .Range("B" & Rows.Count).End(xlUp).Row
           ComboBox1.Clear
             For L = 3 To .Range("B" & Rows.Count).End(xlUp).Row
                ComboBox1.AddItem .Range("B" & L)
             Next
       End With
    End Sub
    
    Private Sub btnMetz_Click()
    Label2.Caption = "Usine de Metz"
    ComboBox1.Enabled = True
       With Feuil2
             .Select
           derligne1 = .Range("B" & Rows.Count).End(xlUp).Row
           ComboBox1.Clear
             For L = 3 To .Range("B" & Rows.Count).End(xlUp).Row
                ComboBox1.AddItem .Range("B" & L)
             Next
       End With
    End Sub
    
    Private Sub btnTremery_Click()
    Label2.Caption = "Usine de Trémery"
    ComboBox1.Enabled = True
       With Feuil3
             .Select
           derligne1 = .Range("B" & Rows.Count).End(xlUp).Row
           ComboBox1.Clear
             For L = 3 To .Range("B" & Rows.Count).End(xlUp).Row
                ComboBox1.AddItem .Range("B" & L)
             Next
       End With
    End Sub
    
    Private Sub btnValenciennes_Click()
    Label2.Caption = "Usine de Valenciennes"
    ComboBox1.Enabled = True
       With Feuil4
             .Select
           derligne1 = .Range("B" & Rows.Count).End(xlUp).Row
           ComboBox1.Clear
             For L = 3 To .Range("B" & Rows.Count).End(xlUp).Row
                ComboBox1.AddItem .Range("B" & L)
             Next
       End With
    End Sub
    
    Private Sub ComboBox1_Change()
        ' activer la textbox1
            TextBox1.Enabled = True
    Lig = ComboBox1.ListIndex + 3
       TextBox1.Value = Cells(Lig, 3).Value
    End Sub
    
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       Select Case KeyAscii
          Case 48 To 57
              KeyAscii = KeyAscii
          Case Else
              KeyAscii = 0
       End Select
    End Sub
    
    Private Sub btnmodifier_Click()
       Cells(Lig, 3).Value = Val(TextBox1.Value)
    End Sub
    
    Private Sub btnQuitter_Click()
        ' fermer le userform1
            UserForm1.Hide
    End Sub
    

    A+
    Maurice
    0