macro renvoie true/false...

  • Initiateur de la discussion Seb
  • Date de début
S

Seb

Guest
Bonjour,
dans une macro, je voudrais utiliser une autre fonction qui me renvoie true ou false...
Un exemple pour bien expliquer :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If(estGrand(Target.Value)) Then MsgBox "Quelle grande valeur!!"
End Sub

Sub estGrand(Dim c As Integer)
If(c > 9) Then
on renvoie True
Else
on renvoie False
End If
End Sub
Merci si vous pouvez m'aider ou me prévenir que ce n'est pas possible...
 
A

Alain

Guest
Bonjour,


Essaye avec :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If estGrand(Target.Value) Then
MsgBox "Quelle grande valeur!!"
End If
End Sub

Function estGrand(c) As Boolean
estGrand = (c > 9)
End Function


@+
 
Z

zon

Guest
Bonjour à tous,

Seb, au lieu de faire une macro dans ce cas présent, une fontion qui retourne un booléen est mieux.

J'ai généralisé ce que tu demandais, on passe en parmaètre une cellule et un entier, la fonction renvoie True quand la cellule est > à l'entier défini sinon False
' à mettre dans un module
Function EstGrand(C As Range, N As Integer) As Boolean
If C >= N Then EstGrand = True Else EstGrand = False
End Function


' Ici dans la macro évenementielle
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(Target) Then Exit Sub 'permet de sortir si la cellule est vide
On Error Resume Next ' si plage de cellules selectionnée, il y a bug donc on évite le test ci dessous
If EstGrand(Target, 9) = True Then MsgBox "Quelle grande valeur" 'en paramètre la cellule et le NB 9 comme dans ton exemple
End Sub



A+++
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 354
Membres
103 528
dernier inscrit
hplus