chamttt
Messages postés16Date d'inscriptionmardi 30 juin 2009StatutMembreDernière intervention28 décembre 2009
-
20 juil. 2009 à 17:05
chamttt
Messages postés16Date d'inscriptionmardi 30 juin 2009StatutMembreDernière intervention28 décembre 2009
-
21 juil. 2009 à 09:00
Bonjour à tous,
Je débute en vba et ai quelques problemes...
Je souhaite récupérer une donnée provenant d'une cellule excel via la fonction blop ci-dessous et placée dans un module. Ensuite je souhaite récupérer dans ma feuille la valeur du booléen pour que quand mon client vient cliquer, le test détermine s'il faut appeler les autres procédures ou mettre un mesgbox.
Apres plusieurs essais, l'erreur affichée est type d'argument byref incompatible....
A l'aide....
******************************************************
Public Function blop(Prout As Boolean) As Boolean
'Test la valeur de la cellule poids max. Si sup à 2000 Kilos alors retourne vrai et message d'erreur
If Sheets("Outils de calcul").Range("B16").Value > 1999 Then
Prout = [True]
End If
MsgBox (Prout)
End Function
********************************************************
Public Sub bouton_valider_Click()
Dim Pinpon As Boolean
Pinpon = Vrai
Call Module1.blop(Prout)
If Pinpon = Prout Then
MsgBox ("Pour toutes commandes dont le poids est supérieur à 2000 Kilos, merci de contacter le service Import")
Else
Call gnou
Call blabla
End If
End Sub
A voir également:
Probleme renvoi de données suite condition Si entre module et feuille VBA
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 juil. 2009 à 17:18
Salut
Et quel est ton problème ?
Ta fonction blop semble correcte
Par contre, bizarre :
Tu définis blop pour qu'elle renvoie un Boolean.
Or, le résultat modifie la variable passée en paramètre.
Tu aurais pu la définir comme ça :
Public Function blop() As Boolean
'Test la valeur de la cellule poids max. Si sup à 2000 Kilos alors retourne vrai et message d'erreur
If Sheets("Outils de calcul").Range("B16").Value > 1999 Then
blop = True
End If
End Function
en oubliant ce Prout qui n'a aucun intérêt
Et l'utiliser comme ça :
If blop = True Then
en oubliant ce Pinpon qui n'a aucun intérêt
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)