Variable string dans une function

Bonjour,

j'ai une difficulté de syntaxe un peu tout bête dans mon code.

j'appelle une fonction via une macro, cette fonction contient des variables dont une variable string, et c'est là que ça plante, j'écris mal mon appel de fonction...

exemple qui marche :

Sub serie_deux()

Msg_deux (1)
Msg_deux (2)
Msg_deux (3)
Msg_deux (4)

End Sub

Sub Msg_deux(val As Integer)
MsgBox (val)
End Sub

donc là, tout va bien, une seule variable integer,

exemple qui ne marche pas :

Sub Serie()

Msg_un ("hello word", 1)
Msg_un ("salut à tous", 2)
Msg_un ("holla chicas" , 3)
Msg_un ("salut chtio biloutte" , 4)

End Sub

Sub Msg_un(texte As String, val As Integer)
MsgBox (texte & " - " & val)
End Sub

c'est là que ça plante, en fait je peux même pas lancer la macro, puisque je l'orthographie mal...

que dois-je écrire ?

Msg_un ("hello word", 1)

Msg_un (hello word, 1)

Msg_un (texte: = "hello word", val: = 1)

Msg_un hello word, 1

Merci d'avance

Bonjour,

Il n'y a que les parenthèses qui sont de trop ...

Sub Serie()

Msg_un "hello word", 1
Msg_un "salut à tous", 2
Msg_un "holla chicas", 3
Msg_un "salut chtio biloutte", 4

End Sub

Sub Msg_un(texte As String, val As Integer)
MsgBox texte & " - " & val
End Sub

ric

ok alors si je pousse un peu le truc,

imaginons que ma variable val dépendent de la valeur d'une cellule ou autre

pourquoi ceci ne fonctionne pas?

Sub Serie_un()

Dim un, deux, trois, quatre As Integer
un = 1
deux = 2
trois = 3
quatre = 4

Msg_un "hello word", un
Msg_un "salut à tous", deux
Msg_un "holla chicas", trois
Msg_un "salut chtio biloutte", quatre

End Sub

Sub Msg_un(texte As String, val As Integer)
MsgBox texte & " - " & val
End Sub

par contre, ceci fonctionne :

Sub Serie_deux()

Dim un, deux, trois, quatre As Integer
un = 1
deux = 2
trois = 3
quatre = 4

Msg_deux (un)
Msg_deux (deux)
Msg_deux (trois)
Msg_deux (quatre)

End Sub

Sub Msg_deux(val As Integer)
MsgBox (val)
End Sub

en revanche, ceci ne focntionne plus

Sub Serie_trois()

Dim un, deux, trois, quatre As Integer
un = 1
deux = 2
trois = 3
quatre = 4

'j'ai juste retiré les parenthèses
Msg_deux un
Msg_deux deux
Msg_deux trois
Msg_deux quatre

End Sub

Sub Msg_trois(val As Integer)
MsgBox (val)
End Sub

Bonjour,

Msg_deux ou Msg_trois > faudrait savoir ...

Dim un, deux, trois, quatre As Integer

un, deux, trois = type variant >

afin qu'ils soient Integer > il faut écrire Dim un As Integer, deux As Integer, trois As Integer, quatre As Integer

Ou encore Dim un%, deux%, trois%, quatre%

ou encore ...

Dim un As Integer
Dim deux As Integer
Dim trois As Integer
Dim quatre As Integer

ou encore ...

Dim un%
Dim deux%
Dim trois%
Dim quatre%

ric

ok, donc je commence à me mélanger les pinceaux et à manquer de rigueur

je croyais que :

Dim un, deux, trois, quatre As Integer

que toutes ces variables sont des Integer

mais en fait non...

désormais, ceci fonctionne :

Sub Serie_un()

Dim un%, deux%, trois%, quatre%
un = 1
deux = 2
trois = 3
quatre = 4

Msg_un "hello word", un
Msg_un "salut à tous", deux
Msg_un "holla chicas", trois
Msg_un "salut chtio biloutte", quatre

End Sub

Sub Msg_un(texte As String, val As Integer)
MsgBox texte & " - " & val
End Sub
Rechercher des sujets similaires à "variable string function"