XL 2016 additionner textbox en boucle

poussy67

XLDnaute Occasionnel
Bonjour, Bonsoir le Forum

je fais appel au pro de la vba pour un coup de pouce

Cela fait plusieurs heure que je cherche a trouver une solution
sans trouver de résultat . Mon problème j'ai un USF avec plusieurs
textbox qui sont boucles pour affichage donnée. Je cherche une solution
pour additionner les textbox en boucle.

je n'arrive pas avoir un total des 2 textbox NbCrebT + ResCrent = Total_cren

j'ai essayer sous cette forme, mais sans résultat (toujours avec un message d'erreur d'execution 13)

For i = 1 To 21
If Me.Controls("NbCrenT_" & i) <> "" Then
Me.Controls("Total_Cre_" & i) = ("NbCrenT_" & i) - ("ResCrenT_" & i)
Else
'MsgBox "Valeur"
End If
Next i

en vous remerciant d'avance pour votre aide

Cdt Poussy
 

BrunoM45

XLDnaute Barbatruc
Bonsoir,

Sans fichier compliqué, mais je vois au moins 2 erreurs dans le code
VB:
Me.Controls("Total_Cre_" & i).Value = Me.Controls("NbCrenT_" & i).Value - Me.Controls("ResCrenT_" & i).Value
A+
 

poussy67

XLDnaute Occasionnel
Bonjour BrunoM45

Merci pour votre retour rapide. Cela fonctionne très bien.
J'aurai une autre question à poser sur le Forum.
Est-il possible de simplifier (éviter un grand nombre de ligne en vba) qui permet de remplir les textbox
via un combobox.

With Sheets("Data")
'Nb creneaux
NbCrenT_1.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 4).Value
NbCrenT_2.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 6).Value
NbCrenT_3.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 8).Value
NbCrenT_4.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 10).Value
NbCrenT_5.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 12).Value
NbCrenT_6.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 14).Value
NbCrenT_7.Value = Sheets("Data").Cells(ComboBox1.ListIndex + 5, 16).Value

Ci-joint un exemple.

Cdt
 

Fichiers joints

BrunoM45

XLDnaute Barbatruc
Bonjour,

Tu ne semble pas avoir compris à quoi servait "With... End With"
Voici ton code modifié avec prise ne coompte de ton objet conteneur "With.."
VB:
Private Sub ComboBox1_Change()
  Dim Ind As Integer
  With Sheets("Data")
    For Ind = 1 To 20
      'Nb creneaux
      Me("NbCrenT_" & Ind).Value = .Cells(ComboBox1.ListIndex + 5, 2 + (Ind * 2)).Value
      Me("ResCrenT_" & Ind).Value = .Cells(ComboBox1.ListIndex + 5, 3 + (Ind * 2)).Value
    Next Ind
  End With
  Call Test
End Sub
A+
 

Discussions similaires


Haut Bas