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

Réponses
1
Affichages
242

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2