Problème VBA dans boucle dans userform

Résolu/Fermé
pbvba Messages postés 3 Date d'inscription mercredi 22 mai 2013 Statut Membre Dernière intervention 23 mai 2013 - 22 mai 2013 à 15:45
pbvba Messages postés 3 Date d'inscription mercredi 22 mai 2013 Statut Membre Dernière intervention 23 mai 2013 - 23 mai 2013 à 08:16
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
22 mai 2013 à 16:05
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 Date d'inscription mercredi 22 mai 2013 Statut Membre Dernière intervention 23 mai 2013
22 mai 2013 à 17:16
Tout juste,
Voici un lien:
http://we.tl/CYVrwEeLaH
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
22 mai 2013 à 21:46
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 Date d'inscription mercredi 22 mai 2013 Statut Membre Dernière intervention 23 mai 2013
23 mai 2013 à 08:16
ah trop bien ça marche nickel! merci beaucoup!! ;)
0