vba déclenchement d'une macro si une valeur précise est saisie dans une cellule

  • Initiateur de la discussion Initiateur de la discussion LAMULE
  • 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 !

L

LAMULE

Guest
Bonjour à tous

VBA étant un savoir mystique que je ne détient pas, je vous expose mon problème :

Je cherche qu'une cellule précise "A3"se trouvant dans un onglet précis "PLANNING" et contenant une liste de 2 valeurs "OUI" et "NON"
actionne une macro "AFFICHAGE" quand "A3" renvoi "OUI" et une macro "MASQUAGE" quand "A3" renvoi "NON" et au moment de la fermeture du classeur que la valeur de la cellule "A3" soit "NON"

Je me bat ces derniers jours avec ce bout de code (le code est placé dans ma feuille "PLANNING") qui ne donne rien :

Sub INFOS ()
If Worksheets("PLANNING").Range("A3") = "OUI" then
AFFICHAGE
Else :
Masquage
End If
End Sub


merci pour vos lumières
 
Re : vba déclenchement d'une macro si une valeur précise est saisie dans une cellule

Bonsoir,

essaye ceci, dans le module de la feuille concernée :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$3" Then Exit Sub
If Target = "OUI" Then
    AFFICHAGE
    ElseIf Target = "NON" Then MASQUAGE
End If
End Sub

dans le module "thisworkbook" :
Code:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False
Worksheets("PLANNING").Range("A3") = "NON"
Application.EnableEvents = True
End Sub
bonne soirée
@+

Edition : Bonsoir 00🙂, David🙂
 
Dernière édition:
Re : vba déclenchement d'une macro si une valeur précise est saisie dans une cellule

Bonjour,
sans fichier permettant de tester...
chez moi ce code fonctionne :
Code:
Sub a()
If Worksheets("Feuil1").Range("A3") = "oui" Then
    Affichage
Else
    Masquage
End If
End Sub

Sub Affichage()
    MsgBox "oui"
End Sub

Sub Masquage()
    MsgBox "non"
End Sub
A+
 
Re : vba déclenchement d'une macro si une valeur précise est saisie dans une cellule

Bonjour, LAMULE, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub OUI_ou_NON()
    If Sheets("PLANNING").Range("a3") = "OUI" Then Call AFFICHAGE Else Call MASQUAGE
End Sub

A bientôt 🙂

P. S. : Bonjour, Pierrot 🙂, David 🙂
 
Dernière édition:
Re : vba déclenchement d'une macro si une valeur précise est saisie dans une cellule

J'ai testé chaque solutions que vous m'avez proposé mais seule celle de Pierrot 93 fonctionne.

En tout cas je vous remercie pour vos réponses toujours si rapide !!

Je cherche toujours à savoir comment vous connaissez tout ceci sur VBA car je sèche continuellement sans jamais vraiment comprendre....

J'ai encore tellement de chose à résoudre sous VBA !!

Une question .... :

Sauriez vous comment et grâce à VBA "EFFACER LES FILTRES" d'un classeur Excel partager en outrepassant les limite du "PARTAGE DE CLASSEUR" ?
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
313
Réponses
4
Affichages
584
Réponses
7
Affichages
829
Retour