Bonjour,
Débutante sur Vba, j'ai besoin d'aide.
J'ai créé un formulaire que vous pouvez voir en pièce jointe.
J'essaie de le programmer pour qu'en fonction des choix que l'utilisateur fait, il calcule un devis quand je clique sur le bouton effectuer.
Or, il n'arrête pas de m'envoyer des messages d'erreur. J'ai essayé un premier code (voir le pdf) pour lequel il m'écrit erreur de compilation: qualificateur incorrect et au autre pour lequel il m'écrit: "membre de méthode ou de données introuvable".
Pour le 1er code, j'ai déclaré une variable intermédiaire prix qui n'apparaît donc pas dans le formulaire.
Dans le 2eme, je l'enlève et la substitue directement par le nom que porte mon label "prix final" dans lequel doit s'écrire la réponse du prix final.
Autre point, j'essaie de faire disparaître mon combobox 2 si je fais le 1er choix dans le comobobox1 que j'ai appelé service mais mon code ne marche pas…(c'est mon 2eme code en pdf)
Si quelqu'un pourrait m'aider, je lui en serai grandement reconnaissante!
code
"Private Sub userform_initialize()
Dim VarDerLigne As Integer
Dim VarPlage As String
VarDerLigne = Sheets("params").Range("A65536").End(xlUp).Row
VarPlage = Sheets("params").Range("A2:A" & VarDerLigne).Address
service.RowSource = "params!" & VarPlage
service.ColumnHeads = False
service.ListIndex = 0
End Sub
Private Sub service_Change()
If service.Value = Ensilage Then
ComboBox2.Visible = False
End If
End Sub
Private Sub effectuer_Click()
Dim prix As Double
If service.Value = Ensilage Then
If (IsNumeric(hectares.Value)) Then
hectares = CDbl(hectares.Value)
If (hectares < 7 And hectares > 0) Then
If Oui.Value = True Then
If (IsNumeric(remorques.Value)) Then
remorques = CDbl(remorques.Value)
If (remorques < 10) Then
prix = 200 * hectares + (hectares * 30) / 60 * remorques * 50
prixfinal.Caption = CStr(prix)
MsgBox prixfinal.Caption
Else
MsgBox "l'entreprise dispose de 10 remorques maximum"
End If
End If
Else
prix = 200 * hectares
prixfinal.Caption = CStr(prix)
MsgBox prixfinal.Caption
End If
Else
MsgBox "pas pos"
End If
Else
MsgBox "pas num"
End If
End If
End Sub"
Partager