Problème VBA dans boucle dans userform

Résolu
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

4 réponses

Patrice33740 Messages postés 8930 Statut Membre 1 781
 
Avec le fichier joint ("anonymisé") ce sera plus facile à comprendre.
Utilises https://www.cjoint.com/ puis met le lien dans ton prochain message
0
pbvba Messages postés 3 Statut Membre
 
Tout juste,
Voici un lien:
http://we.tl/CYVrwEeLaH
0
Patrice33740 Messages postés 8930 Statut Membre 1 781
 
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 :
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


0
pbvba Messages postés 3 Statut Membre
 
ah trop bien ça marche nickel! merci beaucoup!! ;)
0