Une feuille qui s'active toute seule ..... !
Résolu
RaihanaTag
Messages postés
18
Statut
Membre
-
RaihanaTag Messages postés 18 Statut Membre -
RaihanaTag Messages postés 18 Statut Membre -
Je développe une petite application sur vba
Sur la page d'accueil qui a l' air de ça :

j ai crée une animation ( le petit avion qui se déplace de la gauche à droite ) selon la procédure suivante :

le probleme c est quand je clique sur l'un des boutons pour accéder à une autre feuille cette derniere s'ouvre puis apres un bout de temp la page d 'acceuil revient tt seule
j ai enlevé la boucle while ....wend le probleme a disparut mais l 'avion ne fais son parcours qu'une fois et non pas tant que la page d'accueil est active
Merci de bien vouloir m aider
Sur la page d'accueil qui a l' air de ça :

j ai crée une animation ( le petit avion qui se déplace de la gauche à droite ) selon la procédure suivante :

le probleme c est quand je clique sur l'un des boutons pour accéder à une autre feuille cette derniere s'ouvre puis apres un bout de temp la page d 'acceuil revient tt seule
j ai enlevé la boucle while ....wend le probleme a disparut mais l 'avion ne fais son parcours qu'une fois et non pas tant que la page d'accueil est active
Merci de bien vouloir m aider
A voir également:
- Une feuille qui s'active toute seule ..... !
- Application se ferme toute seule android - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Le message n'a pas été envoyé car le service n'est pas activé sur le réseau - Forum Xiaomi
- Bruler feuille de laurier - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
3 réponses
Bonjour,
Déjà .. pour plus de facilités .. il est préférable que tu colles directement ton code sur le forum plutôt que de nous en mettre une capture écran !
NB: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.Ensuite... il suffirait, je pense, que dans ton While .. tu vérifies si tu te trouves bien sur ta feuille1 ... ( avec ActiveSheet)
Si oui... tu fais l'animation...
Si non... tu ne la fais pas.
Déjà .. pour plus de facilités .. il est préférable que tu colles directement ton code sur le forum plutôt que de nous en mettre une capture écran !
NB: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.Ensuite... il suffirait, je pense, que dans ton While .. tu vérifies si tu te trouves bien sur ta feuille1 ... ( avec ActiveSheet)
Si oui... tu fais l'animation...
Si non... tu ne la fais pas.
Bonjour,
Si tu veux que ton avion "plane" en permanence (parce que avec ton code il ne fait qu'un aller) et faire tout le reste de ta demande, utilises ce code (à placer dans le module ThisWorkbook)
Si tu veux que ton avion "plane" en permanence (parce que avec ton code il ne fait qu'un aller) et faire tout le reste de ta demande, utilises ce code (à placer dans le module ThisWorkbook)
Dim StopIt As Boolean Private Sub Workbook_Open() MsgBox "Bonjour ! OUverture en cours ...", , "Gestion de données des Pannes" Worksheets(1).Activate End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "Feuil1" Then StopIt = False: Avion Else StopIt = True End Sub Sub Avion() Dim seconde As Single Dim i As Integer Dim timer_avant As Double Worksheets(1).Shapes("Rectangle 1").Left = 61.5 seconde = 0.01 For i = 1 To 747 timer_avant = Timer Do While Timer < timer_avant + seconde DoEvents If StopIt Then Exit Sub Loop Worksheets(1).Shapes("Rectangle 1").Left = 61.5 + i If i = 746 Then i = 1: Worksheets(1).Shapes("Rectangle 1").Left = 61.5 End If Next i End Sub
J ai fini par utiliser ce code ( si quelqu'un tombe dans le même problème que moi ) :
Et ça fonctionne parfaitement
Merci pour vôtre aide pijaku et jordon 45 et je suis désolée de vous répondre aussi tard ( je suis nouvelle sur le forum je sais pas comme ça fonctionne ici )
Private Sub Workbook_Open() Worksheets(1).Activate MsgBox "Bonjour! Ouverture de Session .....", , "Gestion de données des Pannes" UserForm1.Show While ActiveSheet.Index = 1 Worksheets(1).Shapes("Rectangle 1").Left = 61.5 seconde = 0.01 For i = 1 To 747 timer_avant = Timer Do While Timer < timer_avant + seconde DoEvents Loop Worksheets(1).Shapes("Rectangle 1").Left = 61.5 + i Next Wend End Sub
Et ça fonctionne parfaitement
Merci pour vôtre aide pijaku et jordon 45 et je suis désolée de vous répondre aussi tard ( je suis nouvelle sur le forum je sais pas comme ça fonctionne ici )
merci infiniment