Macro VBA 3 conditions

Bonjour,

J'ai besoin d'aide pour réaliser une macro VBA qui aura pour but dans le même temps de :

Masquer/Afficher un objet, changer la couleur d'un onglet et d'afficher "Oui" ou "Non" sur une cellule choisie.

J'ai déjà le code pour masquer/afficher et changer la couleur (mais quand je re clique dessus, ça ne change pas la couleur car il n'y a pas la condition) :

Sub Afficher/Masquer ()

If ActiveSheet.Shapes ("Nom forme").visible = true then
ActiveSheet.Shapes ("Nom forme").visible = false
Else : ActiveSheet.Shapes ("Nom forme").visible = true
Sheets("Nom onglet").Tab.ColorIndex = numéro couleur 
End if 
End Sub

Ce que j'aimerais concrètement : c'est un bouton macro qui lorsque l'on clique dessus : affiche la forme/change la couleur de l'onglet/insère un oui dans la cellule choisie et fait tout le contraire lorsque l'on reclique dessus (masque/remet la couleur de l'onglet de base/insère un non, etc).

Par avance merci,

AM

Bonjour Aymen,

Voici une idée de code.

Il faut que ta forme s'appelle bien "Nomforme" et que ta cellule soit bien nommée "CelluleOuiNon".

Pour plus de sécurité, tu devrais aussi remplacer les ActiveSheet par le nom précis de la feuille.

Sub Test ()

dim numero_couleur as Integer, numero_couleur2 as Integer
numero_couleur = 3
numero_couleur2 = 5

If ActiveSheet.Shapes ("Nomforme").visible = true then
     ActiveSheet.Shapes ("Nomforme").visible = false
     ActiveSheet.Tab.ColorIndex = numero_couleur
     ActiveSheet.range("CelluleOuiNon") = "Oui"
Elseif : ActiveSheet.Shapes ("Nomforme").visible = false then
     ActiveSheet.Shapes ("Nomforme").visible = true
     ActiveSheet.Tab.ColorIndex = numero_couleur2
     ActiveSheet.range("CelluleOuiNon") = "Non" 
End if 
End Sub

Simon

Salut Simon, merci beaucoup, j'ai fait les modifications pour les ActiveSheet, tu gères !!

Rechercher des sujets similaires à "macro vba conditions"