Macro conditionnelle

B

Bololobo

Guest
Bonjour,

Je voudrais savoir s'il est possible d'éxécuter une macro dans une fonction SI(). Par exemple : =SI(A>=4;Exécuter Macro;''). En résumé, peut-on appeller une macro sans passer obligatoirement par le menu ? Merci d'avance.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Pour repondre à ta question oui tu as les macros evenementielles qui se déclenchent sur un evenement

Par exemple tu peux faire une macro qui se declenche si tu changes une cellule et que cette cellule à une valeur supérieur à 4
 
V

visiteur

Guest
bonjour Pascal bololobo

Macro évènementielle dans le Private Module de la Feuille en Question :
Soit la cellule 'A1' est modifiée par Saisie (ou par Macro)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then
If Me.Range('A1') = 100 Then
MsgBox '100 en A1'
Else
MsgBox 'Pas 100 en A1'
End If
End If
End Sub

Soit la cellule 'A1' est modifiée par Formule

Private Sub Worksheet_Calculate()
If Me.Range('A1') = 100 Then
MsgBox '100 en A1'
Else
MsgBox 'Pas 100 en A1'
End If
End Sub

A noter que les deux pourraient être mises dans le Private Module de la Feuille au cas où...
PS le Private Module de la Feuille est accessible en cliquant sur le Click Droit de ta souris lorsque que tu pointes sur l'onglet de la dîte feuille, et dans le menu contextuel qui va s'ouvrir tu choisis 'Visualiser le Code', un Private Module VBA va automatiquement surgir et c'est dans ce module que tu copiera le code.
If Target.Address = '$A$1' Then
If Me.Range('A1') = 100 Then
Modifier la référence de cellule et la valeur de celle-ci.
 

Discussions similaires

Réponses
3
Affichages
292

Statistiques des forums

Discussions
312 432
Messages
2 088 373
Membres
103 835
dernier inscrit
Jaco24