Afficher/Masquer forme selon valeur variable d'une cellule

Bonjour

Dans le fichier joint contenant 2 formes Form1 et Form2, la valeur de B5 réglée sur le Timer affiche 0 ou 1.

Comment faire apparaître Form1 ou Form2 selon la valeur en B5, ce qui revient à changer de forme à chaque seconde.

Merci pour votre aide

Cordialement

670classeur1.zip (8.55 Ko)

Bonjour Amadéus,

Tout simplement

Sub majHeure()
 ThisWorkbook.Sheets("Horloge").[B4] = Now
 temps = Now + TimeValue("00:00:1")
    If Range("b5") = 1 Then
       ActiveSheet.Shapes("Form1").Visible = False
       ActiveSheet.Shapes("Form2").Visible = True
    Else
       ActiveSheet.Shapes("Form2").Visible = False
       ActiveSheet.Shapes("Form1").Visible = True
    End If
 Application.OnTime temps, "majHeure"
End Sub

Bonne journée

Claude

Bonjour Claude

J'avais bien essayé, mais inversé les deux avant-dernières lignes..

ça marche (Bien sur). Merci beaucoup

Amicalement

re,

çà marche, oui et non !

car si tu as un autre fichier d'ouvert, çà provoque une erreur,

il faudrait contrôler la macro (déclenchement avec seulement ce fichier)

dans l'immédiat, je ne vois pas

Amicalement

Claude

Bonjour

Sans avoir testé

Workbook_Activate() pour la mise en route et

Workbook_Deactivate() pour l'arrêt

Bonne journée

re,

Il faut contrôler aussi la feuille, en attendant mieux, là çà fonctionne

Sub majHeure()
 ThisWorkbook.Sheets("Horloge").[B4] = Now
 temps = Now + TimeValue("00:00:1")
 If ActiveSheet.Name = "Horloge" Then
    If Range("b5") = 1 Then
       ActiveSheet.Shapes("Form1").Visible = False
       ActiveSheet.Shapes("Form2").Visible = True
    Else
       ActiveSheet.Shapes("Form2").Visible = False
       ActiveSheet.Shapes("Form1").Visible = True
    End If
 End If
 Application.OnTime temps, "majHeure"
End Sub

Salut Banzai

Claude

Rechercher des sujets similaires à "afficher masquer forme valeur variable"