Faire exécuter une macro dans un test logique ?

  • Initiateur de la discussion Initiateur de la discussion PERDEREAU
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PERDEREAU

XLDnaute Nouveau
Bonjour

Je souhaiterais faire executer une macro dans un test logique du type =si(test logique; vrai la macro s'execute; faux). est ce possible et si oui comment, quelle synthaxe.
Merci pour vos réponses.
JPP
 
Re : Faire exécuter une macro dans un test logique ?

Bonjour perdereau, probablement qu'ils (les admins) vont déplacer ton fil discussion dans un autre dossier du forum car celui-ci est plutôt dédié aux questions sur l'utilisation du forum. Mais bon, on verra bien.

Quand à ta question, de ma courte expérience je ne crois pas que ça puisse se faire à partir d'une fonction =si(). Mais as-tu pensé de te créer une fonction qui ferait le test logique et appellerait la sub que tu souhaite? Je ne l'ai pas essayé moi-même mais d'après moi ça fonctionnerait. Je vais laisser les pros nous démontrer si j'ai tort ou raison.

Bye et bonne continuité. 😉
 
Re : Faire exécuter une macro dans un test logique ?

Bonjour Perdereau,

Comme je vois ça, tu crée une fonction MaFonction qui appelle la sous-routine MaSousRoutine:

Code:
Sub MaSousRoutine()
    MsgBox "Ça fonctionne!!!"
End Sub

Code:
Function MaFonction()
    On Error GoTo Trappe
    MaSousRoutine
 
Sortie:
    On Error Resume Next
    Exit Function
Trappe:
    Resume Sortie
 
End Function

Et tu incorpore la fonction à ton test logique:

Code:
=SI(A28>=100;mafonction();"Trop bas")

Si la valeur de A28 atteint 100, un msgbox apparaît.
Je ne sais pas si ça éclaire ta question.

Bye
 
Re : Faire exécuter une macro dans un test logique ?

Bonsoir à tous


Mon interprétation de la demande du perdreau de l'année 😀

Code:
Private Sub sissi(a As Boolean)
If a Then
MsgBox Time
Else
MsgBox "C'eut été drole!"
End
End If
End Sub
Code:
Sub romy_schneider()
sissi True
End Sub
Code:
Sub paul_preboist()
sissi False
End Sub
Lancer romy_schneider puis ensuite lancer paul_preboist
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour