Probléme VBA MSGBOX + varoables
Résolu
roulio66
Messages postés
8
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, sa fait quelque jour que j'ai commencer à développer sur du VBA pour mon travail mais je rencontre un problème au quel je n'arrive pas a trouver de réponse
je voudrais utiliser un MSGBOX (fonction) avec comme message 2 variable
j'arrive à le faire avec juste un MSGBOX traditionnel mais pas en mode fonction
voila comment ce présent la chose:
merci (je suis navré si mon programme est mal construit je débute)
je voudrais utiliser un MSGBOX (fonction) avec comme message 2 variable
j'arrive à le faire avec juste un MSGBOX traditionnel mais pas en mode fonction
voila comment ce présent la chose:
Sub salade1()
'
'
'
'Déclaration des variables
Dim question As String, salade1 As String, salade2 As String, salade3 As String
'Valeurs des variables
question = Worksheets("feuil3").[A31]
salade1 = Worksheets("feuil3").[C4]
salade2 = Worksheets("feuil3").[C5]
salade3 = Worksheets("feuil3").[C6]
'
if MsgBox ([question & salade1 & "?"][, vbyesno]) = vbyes them
'active feuiil2
Sheets(2).Select
ActiveSheet.Cells(Rows.Count, "A").End(xlUp)(2).Select
'désignation article
With ActiveCell
.Value = "BAG 1"
.Borders.Value = 1
.Interior.ColorIndex = 0
End With
'composition
ActiveSheet.Cells(Rows.Count, "B").End(xlUp)(2).Select
With ActiveCell
.Value = "SALADE 1"
.Borders.Value = 1
.Interior.ColorIndex = 0
End With
'detail
Sheets(2).Select
ActiveSheet.Cells(Rows.Count, "c").End(xlUp)(2).Select
With ActiveCell
.Value = salade1
.Borders.Value = 1
.Interior.ColorIndex = 0
End With
'quantiter
ActiveSheet.Cells(Rows.Count, "D").End(xlUp)(2).Select
With ActiveCell
.Value = "1"
.Borders.Value = 1
.Interior.ColorIndex = 0
End With
End If
End Sub
merci (je suis navré si mon programme est mal construit je débute)
3 réponses
-
Bonsoir Roulio, bonsoir le forum,
Évite de nommer ta madcro avec le même nom qu'une de tes variables, ça pourrait planter...
Je me demande aussi si tu ne devrais pas ajouter une espace entre question & salade1 (question & " " & salade1).
Ton code modifié :
Sub salade() 'Déclaration des variables Dim F2 As Worksheet Dim F3 As Worksheet Dim question As String, salade1 As String, salade2 As String, salade3 As String Set F2 = Sheets(2) Set F3 = Sheets("Feuil3") 'Valeurs des variables question = F3.Range("A31").Value salade1 = F3.Range("C4").Value salade2 = F3.Range("C5").Value salade3 = F3.Range("C6").Value ' If MsgBox(question & salade1 & "?", vbYesNo) = vbYes Then With F2.Cells(Application.Rows.Count, 1).End(xlUp)(2) 'désignation article .Value = "BAG 1" .Borders.Value = 1 .Interior.ColorIndex = 0 End With 'composition With F2.Cells(Application.Rows.Count, 2).End(xlUp)(2) .Value = "SALADE 1" .Borders.Value = 1 .Interior.ColorIndex = 0 End With 'detail With F2.Cells(Application.Rows.Count, 3).End(xlUp)(2) .Value = salade1 .Borders.Value = 1 .Interior.ColorIndex = 0 End With 'quantiter With F2.Cells(applicationRows.Count, 4).End(xlUp)(2) .Value = "1" .Borders.Value = 1 .Interior.ColorIndex = 0 End With End If End Sub
-
je remplacerai bien ta ligne de test msgbox par celle-ci :
If MsgBox(question & salade1 & "?", vbYesNo) = vbYes Then
-
merci beaucoup je vais pouvoir avancer dans mon projet <3 <3