Probléme VBA MSGBOX + varoables

Résolu/Fermé
roulio66 Messages postés 8 Date d'inscription vendredi 30 janvier 2015 Statut Membre Dernière intervention 26 avril 2015 - Modifié par pijaku le 31/01/2015 à 00:45
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 31 janv. 2015 à 00:43
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:


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

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
30 janv. 2015 à 19:44
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

0
Patty5083 Messages postés 34 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 10 novembre 2019
30 janv. 2015 à 19:53
je remplacerai bien ta ligne de test msgbox par celle-ci :

If MsgBox(question & salade1 & "?", vbYesNo) = vbYes Then
0
roulio66 Messages postés 8 Date d'inscription vendredi 30 janvier 2015 Statut Membre Dernière intervention 26 avril 2015
30 janv. 2015 à 20:37
merci beaucoup je vais pouvoir avancer dans mon projet <3 <3
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
31 janv. 2015 à 00:43
Bonjour,

Quand dans l'aide tu vois un paramètre entre des [ ], c'est pour indiquer qu'il est optionnel.
Si tu l'utilises il ne faut pas les mettre.

eric
0