Macro - modification d'objets (suite)

Hub

XLDnaute Occasionnel
Bonjour à tous,

vous trouverez en pièce jointe un exemple et sa question.

Lorsque j’exécute la macro « manuellement », il n’y a pas de problème, l’objet souhaité apparaît ou disparait.
Lorsque je modifie la valeur de la cellule A10, la macro ne s’exécute pas. Pourquoi ???
J’ai comme l’impression qu’une macro est forcément liée au « cochage » d’un bouton !!!
Dans ce cas, comment utiliser la condition « If » dans l’exemple ci-dessous ?

Sub Forme()
If [A11] = 1 Then
Feuil3.Shapes("Rectangle 4").Visible = True
Feuil3.Shapes("Ellipse 5").Visible = False
ElseIf [A11] = 2 Then
Feuil3.Shapes("Rectangle 4").Visible = False
Feuil3.Shapes("Ellipse 5").Visible = True
Else
End If
End Sub

Pour sélectionner un objet, il faut déclarer le nom de la feuille. Ce qui sous entend qu’il faut réactualiser la macro si on renomme la feuille, est ce bien cela ?

D’avance merci pour votre réponse,

@+
 

Pièces jointes

  • macro OBJET.xls
    25 KB · Affichages: 20

Tentative

XLDnaute Occasionnel
Re : Macro - modification d'objets (suite)

Bonjour,

Une tentative en pièce jointe ... change la valeur de A10 et observe.

Puis va voir en VBE dans la Feuil3.


Espérant le tout conforme.


Tentative
 

Pièces jointes

  • macro OBJET(2).xls
    41 KB · Affichages: 18

Si...

XLDnaute Barbatruc
Re : Macro - modification d'objets (suite)

salut

comme Tentative te le propose :D, avec une évènementielle mais ici, avec une seule macro et prévision du masquage intégral.
Dans la page de code de la feuille
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If R.Address <> "$A$10" Then Exit Sub
  Me.Shapes("Rectangle 4").Visible = R <> ""
  Me.Shapes("Ellipse 5").Visible = R <> ""
  Me.Shapes("Rectangle 4").Visible = R = 1
  Me.Shapes("Ellipse 5").Visible = R = 2
End Sub
 

Pièces jointes

  • Afficher Masquer Formes.xls
    27 KB · Affichages: 9

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07