Problème VBA dans boucle dans userform
Résolu
pbvba
Messages postés
3
Statut
Membre
-
pbvba Messages postés 3 Statut Membre -
pbvba Messages postés 3 Statut Membre -
Bonjour,
Je n'arrive pas en vain à trouver la solution à mon problème, j'espère que vous pourrez m'aider....
Je m'explique. J'ai une procédure (qui fonctionne bien) dans laquelle je lance deux userform, pratiquement identiques (j'ai utilisé l'un pour creer l'autre) et quand je lance mon programme, il n'y a aucun message d'erreur mais pour l'un le résultat attendu fonctionne parfaitement et pas pour l'autre
voici le code de l'userform qui ne fonctione pas:
Private Sub CommandButton1_Click()
Dim i As Byte, j As Integer, val2 As Single
For i = 41 To 46 Step 1
For j = 1 To 4 Step 1
If Sheets("Données et calcul conso").Cells(i, 2).Value = userform_pompe.Controls("ComboBox" & j).Value Then
val2 = Sheets("Données et calcul conso").Cells(i, 3).Value
Sheets("Conso kwh").Cells(21 + j, 3).Value = val2
End If
Next
Next
Unload Me
End Sub
L'userform est composé de combobox qui prennent ces valeurs dans excel:
pompes Puissance
20 m3 38 kVA
40 m3 65 kVA
63 m3 90 kVA
je pense que le problème doit être de logique ou de connaissance de vba car j'ai bien verifié qu'il n'y avait pas d'erreur par rapport a l'autre userform qui fonctionne et également d'erreur d'inattention tel qu'une mauvaise référence...
Le but est de mettre la puissance et le type choisi dans l'userform dans une case excel...
Merci beaucoup si vous pouvez m'aider
Je n'arrive pas en vain à trouver la solution à mon problème, j'espère que vous pourrez m'aider....
Je m'explique. J'ai une procédure (qui fonctionne bien) dans laquelle je lance deux userform, pratiquement identiques (j'ai utilisé l'un pour creer l'autre) et quand je lance mon programme, il n'y a aucun message d'erreur mais pour l'un le résultat attendu fonctionne parfaitement et pas pour l'autre
voici le code de l'userform qui ne fonctione pas:
Private Sub CommandButton1_Click()
Dim i As Byte, j As Integer, val2 As Single
For i = 41 To 46 Step 1
For j = 1 To 4 Step 1
If Sheets("Données et calcul conso").Cells(i, 2).Value = userform_pompe.Controls("ComboBox" & j).Value Then
val2 = Sheets("Données et calcul conso").Cells(i, 3).Value
Sheets("Conso kwh").Cells(21 + j, 3).Value = val2
End If
Next
Next
Unload Me
End Sub
L'userform est composé de combobox qui prennent ces valeurs dans excel:
pompes Puissance
20 m3 38 kVA
40 m3 65 kVA
63 m3 90 kVA
je pense que le problème doit être de logique ou de connaissance de vba car j'ai bien verifié qu'il n'y avait pas d'erreur par rapport a l'autre userform qui fonctionne et également d'erreur d'inattention tel qu'une mauvaise référence...
Le but est de mettre la puissance et le type choisi dans l'userform dans une case excel...
Merci beaucoup si vous pouvez m'aider
A voir également:
- Problème VBA dans boucle dans userform
- Excel compter cellule couleur sans vba - Guide
- Find vba - Astuces et Solutions
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
4 réponses
Avec le fichier joint ("anonymisé") ce sera plus facile à comprendre.
Utilises https://www.cjoint.com/ puis met le lien dans ton prochain message
Utilises https://www.cjoint.com/ puis met le lien dans ton prochain message
la valeur des cellules est un nombre et celle des combobox est un texte.
Il ne sont donc pas égaux !
Une solution pas élégante, mais qui fonctionne :
Il ne sont donc pas égaux !
Une solution pas élégante, mais qui fonctionne :
Private Sub CommandButton1_Click()
Dim i As Byte, j As Integer, val As Single
For i = 41 To 46 Step 1 'pour faire apparaitre dans feuille 'conso kwh' les puissance des pompes choisies
For j = 1 To 4 Step 1
If Sheets("Données et calcul conso").Cells(i, 2).Formula = userform_pompe.Controls("ComboBox" & j).Value Then
val = Sheets("Données et calcul conso").Cells(i, 3).Value
Sheets("Conso kwh").Cells(21 + j, 3).Value = val
End If
Next
Next
For i = 41 To 46 Step 1 'pour faire apparaitre dans feuille 'conso kwh' le type des pompes choisies
For j = 1 To 4 Step 1
If Sheets("Données et calcul conso").Cells(i, 2).Formula = userform_pompe.Controls("ComboBox" & j).Value Then
val = Sheets("Données et calcul conso").Cells(i, 2).Value
Sheets("Conso kwh").Cells(11 + j, 7).Value = val
End If
Next
Next
Unload Me
End Sub