Réaliser une petite boucle en vba
Fermé
vieuxray
-
11 oct. 2018 à 18:12
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 - 29 oct. 2018 à 21:51
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 - 29 oct. 2018 à 21:51
A voir également:
- Réaliser une petite boucle en vba
- Petite amie virtuelle en français - Accueil - Intelligence artificielle
- Réaliser un organigramme - Guide
- Petite croix snap - Forum Snapchat
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
18 réponses
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Ambassadeur
1 568
11 oct. 2018 à 22:41
11 oct. 2018 à 22:41
bonjour,
je pense qu'il suffit d'ajouter
avant le end with dans Sub Blink(), et
avant le end with dans Sub StartBlink()
je pense qu'il suffit d'ajouter
Dim i As Integer For i = 5 To 5 + (36 - 5) * (.ProgressBar1.Value - .ProgressBar1.Min) / (.ProgressBar1.Max - .ProgressBar1.Min) .Controls("Label" & CStr(i)).Visible = True Next i
avant le end with dans Sub Blink(), et
Dim i As Integer For i = 5 To 36 .Controls("Label" & CStr(i)).Visible = False Next i
avant le end with dans Sub StartBlink()
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Ambassadeur
1 568
Modifié le 12 oct. 2018 à 10:02
Modifié le 12 oct. 2018 à 10:02
(.ProgressBar1.Value - .ProgressBar1.Min), c'est l'avancement dans la progressbar
(.ProgressBar1.Max - .ProgressBar1.Min), c'est la longueur de la progressbar
en divisant l'avancement par la longueur, on obtient un nombre entre 0 et 1, qui indique la progression dans la progressbar
(36 - 5), c'est la longueur du bargraph
en multipliant cette longueur par la progression dans la progressbar, on trouve l'avancement dans le bargraph, auquel on ajoute 5, qui est le début du bargraph
(.ProgressBar1.Max - .ProgressBar1.Min), c'est la longueur de la progressbar
en divisant l'avancement par la longueur, on obtient un nombre entre 0 et 1, qui indique la progression dans la progressbar
(36 - 5), c'est la longueur du bargraph
en multipliant cette longueur par la progression dans la progressbar, on trouve l'avancement dans le bargraph, auquel on ajoute 5, qui est le début du bargraph
Salut yg_be,
Merci pour ta réponse et pour le code, c'est gentil a toi.
Sinon tout fonctionne bien, rien a dire, enfin si, merci LOL
Tu peux svp détaillé la formule, je ne comprends pas trop son déroulement, jamais fait de maths.
Passe une bonne journée et juste avec un peu d'avance bon W-end.
Cdlt Ray
Merci pour ta réponse et pour le code, c'est gentil a toi.
Sinon tout fonctionne bien, rien a dire, enfin si, merci LOL
Tu peux svp détaillé la formule, je ne comprends pas trop son déroulement, jamais fait de maths.
Passe une bonne journée et juste avec un peu d'avance bon W-end.
Cdlt Ray
Dim i As Integer
For i = 5 To 5 + (36 - 5) * (.ProgressBar1.Value - .ProgressBar1.Min) / (.ProgressBar1.Max - .ProgressBar1.Min)
.Controls("Label" & CStr(i)).Visible = True
Next i
Salut yb_be,
Merci pour toutes ces explications, je regarde ca de près.
Dit moi, svp, je vais avoir besoin d'écrire dans mon USF1 ainsi que les Labels etc etc
Comment je peux déclarer en variable Public pour tout mon projet l'USF1 afin de pouvoir réduire le code et d'éviter de me répéter Ex: UserForm1. etc etc
Je pensais Me=UserForm1 ou Me remplacerai UserForm1 plus simple a écrire et j'ai déjà vu ça dans différents codes sur le net.
J'ai chercher j'ai trouver du code mais je ne sais pas comment bien procéder et mettre ou les bons codes.
Merci a toi,
Cdlt Ray
Merci pour toutes ces explications, je regarde ca de près.
Dit moi, svp, je vais avoir besoin d'écrire dans mon USF1 ainsi que les Labels etc etc
Comment je peux déclarer en variable Public pour tout mon projet l'USF1 afin de pouvoir réduire le code et d'éviter de me répéter Ex: UserForm1. etc etc
Je pensais Me=UserForm1 ou Me remplacerai UserForm1 plus simple a écrire et j'ai déjà vu ça dans différents codes sur le net.
J'ai chercher j'ai trouver du code mais je ne sais pas comment bien procéder et mettre ou les bons codes.
Merci a toi,
Cdlt Ray
UserForm1.Label2 Je pensais Me.Label2= etc etc
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
12 oct. 2018 à 13:03
12 oct. 2018 à 13:03
pourquoi ne pas changer le nom de UserForm1?
Me est un nom réservé.
Me est un nom réservé.
Re
J'ai remplacer Userform1 par Me
j'ai relancer mon programme et j'ai l'erreur suivante (Utilisation incorrecte du mot clé Me)
j'ai regarder dans l'aide et ça me dit de ne pas mettre Me dans un module qui n'ai pas prévu a cet effet.
Donc baht je sais plus du coup
Quand pense tu svp ???
A plus tard et merci
Cdlt Ray
J'ai remplacer Userform1 par Me
j'ai relancer mon programme et j'ai l'erreur suivante (Utilisation incorrecte du mot clé Me)
j'ai regarder dans l'aide et ça me dit de ne pas mettre Me dans un module qui n'ai pas prévu a cet effet.
Donc baht je sais plus du coup
Quand pense tu svp ???
A plus tard et merci
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
vieuxray
12 oct. 2018 à 15:03
12 oct. 2018 à 15:03
Me étant un nom réservé, il ne faut donc pas l'utiliser.
Je t'avais suggéré de changer le nom de UserForm1. Tu peux par exemple le changer en U1, via les propriétés du formulaire.
Je pense qu'il s'appelle UserForm1 parce que tu as choisi de lui laisser ce com au moment de le créer.
Je t'avais suggéré de changer le nom de UserForm1. Tu peux par exemple le changer en U1, via les propriétés du formulaire.
Je pense qu'il s'appelle UserForm1 parce que tu as choisi de lui laisser ce com au moment de le créer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok Merci pour ta réponse bien compris.
Lors de la création je voulais que l'USF1 soit considérer comme Public de façons a ce quelle soit accessible dans tout le projet sans avoir a écrire tout le temps "Userform1" qui pour moi rends le code pas très lisible selon les lignes de codes.
Donc du coup elle restée sous son nom d'origine, je me méfierai la prochaine fois.
Je vais essayer de la baptisée U1 comme tu me le conseille c'est très bien et court.
je te tient au courant.
Cdlt Ray
Lors de la création je voulais que l'USF1 soit considérer comme Public de façons a ce quelle soit accessible dans tout le projet sans avoir a écrire tout le temps "Userform1" qui pour moi rends le code pas très lisible selon les lignes de codes.
Donc du coup elle restée sous son nom d'origine, je me méfierai la prochaine fois.
Je vais essayer de la baptisée U1 comme tu me le conseille c'est très bien et court.
je te tient au courant.
Cdlt Ray
Voila j'ai fait comme conseillé
j'ai mis (U1) pour le nom de l'Userform
j'ai mis le nom (Dépenses) dans le bandeau bleu de (l'U1)
ça a l'air de fonctionner pas de plantage aux essais
Mais je ne sais pas si (U1) est accessible dans tout le projet donc Public si je puis dire ainsi.
Comment svp je peux tester si (U1) est bien accessible
Merci pour ton aide a plus tard
Cdlt Ray
j'ai mis (U1) pour le nom de l'Userform
j'ai mis le nom (Dépenses) dans le bandeau bleu de (l'U1)
ça a l'air de fonctionner pas de plantage aux essais
Mais je ne sais pas si (U1) est accessible dans tout le projet donc Public si je puis dire ainsi.
Comment svp je peux tester si (U1) est bien accessible
Merci pour ton aide a plus tard
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
Modifié le 12 oct. 2018 à 18:33
Modifié le 12 oct. 2018 à 18:33
U1 a exactement la même accessibilité que UserForm1 avait avant.
si tu as un doute, essaie dans un nouveau module.
si tu as un doute, essaie dans un nouveau module.
Salut yg_be,
Désoler pour le retard de ma réponse,
Mais merci pour ta réponse, j'ai donc fait l'essai conseillé et c'est bon pour moi ça fonctionne bien, pas de soucis.
Pour le bargraff couleur, ça fonctionne mais un truc qui fait môche très môche les labels de couleurs se déplacent par deux ou trois voir quatres en même temps.
Serait t'il possible svp de les faire évoluer un par un en modifiant la formule.
Merci pour ton aide, je te souhaite un très bon W-end.
Cdlt Ray
Désoler pour le retard de ma réponse,
Mais merci pour ta réponse, j'ai donc fait l'essai conseillé et c'est bon pour moi ça fonctionne bien, pas de soucis.
Pour le bargraff couleur, ça fonctionne mais un truc qui fait môche très môche les labels de couleurs se déplacent par deux ou trois voir quatres en même temps.
Serait t'il possible svp de les faire évoluer un par un en modifiant la formule.
Merci pour ton aide, je te souhaite un très bon W-end.
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
vieuxray
13 oct. 2018 à 10:37
13 oct. 2018 à 10:37
sans doute parce que la technique utilisée (basée sur Now) donne une précision de l'ordre d'une seconde.
pour être certain, essaie en remplaçant le 0 par 1 dans le round.
pour être certain, essaie en remplaçant le 0 par 1 dans le round.
Salut
Merci de ta réponse.
J'ai fait l'essai que tu dit remplacer le 0 par 1 dans round.
Mais aucun changement même en jouant sur la durée.
Ce qui m'ennuie c'est qu'on voie franchement l'avancée des labels couleurs mais par paquets.
Tu crois qu'un autre code de minuterie serai plus malléable.
Bonne journée.
Cdlt ray
Merci de ta réponse.
J'ai fait l'essai que tu dit remplacer le 0 par 1 dans round.
Mais aucun changement même en jouant sur la durée.
Ce qui m'ennuie c'est qu'on voie franchement l'avancée des labels couleurs mais par paquets.
Tu crois qu'un autre code de minuterie serai plus malléable.
Bonne journée.
Cdlt ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
Modifié le 13 oct. 2018 à 11:26
Modifié le 13 oct. 2018 à 11:26
même en ayant une durée comme 50 secondes?
la minuterie n'est pas en cause, c'est la technique utilisée pour mesurer le temps. d'autres techniques existent.
la minuterie n'est pas en cause, c'est la technique utilisée pour mesurer le temps. d'autres techniques existent.
Ok je comprends, dommage cette tempo que avais trouver était bien
car elle permets d'avoir du clignotement rapide et réglable
comme la durée, la fréquence etc etc
Donc comment peut t'on faire alors, dit moi svp s'il faut que j'en cherche une autre ???
Bon app a plus tard et merci
Cldt Ray
car elle permets d'avoir du clignotement rapide et réglable
comme la durée, la fréquence etc etc
Donc comment peut t'on faire alors, dit moi svp s'il faut que j'en cherche une autre ???
Bon app a plus tard et merci
Cldt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
13 oct. 2018 à 12:03
13 oct. 2018 à 12:03
as-tu le soucis même en ayant une durée comme 50 secondes?
que veux-tu dire par "j'en cherche une autre"?
que veux-tu dire par "j'en cherche une autre"?
Re,
Alors essai avec 50 secondes = les 3 premiers labels bleus démarrent puis affichage 2x2 avec une raté 2x3.
Essai avec 60 secondes presque bien = 2 labels bleus démarrent puis affichage 1x1 avec toutefois 2 ratés aléatoires.
(R) j'en cherche une autre tempo qui pourrai être plus facilement utilisable vu que je souhaiterai de courtes tempos environ 5 a 15 secondes de durée maxi mais une fréquence plus ou moins rapide mais réglable.
merci du coup de main
Cdlt Ray
Alors essai avec 50 secondes = les 3 premiers labels bleus démarrent puis affichage 2x2 avec une raté 2x3.
Essai avec 60 secondes presque bien = 2 labels bleus démarrent puis affichage 1x1 avec toutefois 2 ratés aléatoires.
(R) j'en cherche une autre tempo qui pourrai être plus facilement utilisable vu que je souhaiterai de courtes tempos environ 5 a 15 secondes de durée maxi mais une fréquence plus ou moins rapide mais réglable.
merci du coup de main
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
13 oct. 2018 à 13:52
13 oct. 2018 à 13:52
et tes labels vont toujours de 5 à 36?
Non j'en ai rajouter 4 ils vont de 5 a 40 mais sur une autre version, la même mais cette version me sert a faire les essais au cas ou je planterai, comme ca toujours un secours.
Mais je fais les essais sur les labels de 5 a 36 version officielle
L'effet est le même avec labels de 5 a 36 ou bien labels de 5 a 40
je suis ça rigoureusement sinon si tu bosses de ton coté et moi du mien, va y avoir des soucis.
T'inquiète pas c'est déjà très gentil a toi de m'aider, je ne vais pas aller chercher les ennuies LOL
Merci a toi
Mais je fais les essais sur les labels de 5 a 36 version officielle
L'effet est le même avec labels de 5 a 36 ou bien labels de 5 a 40
je suis ça rigoureusement sinon si tu bosses de ton coté et moi du mien, va y avoir des soucis.
T'inquiète pas c'est déjà très gentil a toi de m'aider, je ne vais pas aller chercher les ennuies LOL
Merci a toi
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
13 oct. 2018 à 14:56
13 oct. 2018 à 14:56
ne ne comprends pas qu'avec 50 secondes et 32 labels, tu aies ceci: "les 3 premiers labels bleus démarrent puis affichage 2x2 avec une raté 2x3".
En fait j'observe le plus souvent que des moments c'est aléatoire des fois ca corresponds a la durée puis ça redéconne puis ça retombe pil poil même en modifiant la durée ça parait bien marcher plusieurs fois puis zut c'est plus bon.
les labels sont tous identiques sauf la couleur bien entendu leurs captions égal 0 propriété identique et rien de changer au niveau code
je ne sais pas pourquoi ça tourne pas rond
Pur moi c'est la formule qui devrai s'adapter selon la durées avec un même nombre de labels juste la durée peut être mofifier
a plus tard merci
les labels sont tous identiques sauf la couleur bien entendu leurs captions égal 0 propriété identique et rien de changer au niveau code
je ne sais pas pourquoi ça tourne pas rond
Pur moi c'est la formule qui devrai s'adapter selon la durées avec un même nombre de labels juste la durée peut être mofifier
a plus tard merci
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
13 oct. 2018 à 15:24
13 oct. 2018 à 15:24
chez moi, le comportement est toujours le même. le soucis, c'est que l'avancement ne se fait qu'une fois par seconde, donc c'est saccadé quand la durée en secondes est inférieure au nombre de labels. la barre de progression est également saccadée, pour les mêmes raisons.
je pourrais modifier pour éviter que cela ne soit fait qu'une fois par seconde.
chez toi, je suspecte que l'ordi fait autre chose et que Excel ne puisse pas travailler: le clignotement est-il bon?
je pourrais modifier pour éviter que cela ne soit fait qu'une fois par seconde.
chez toi, je suspecte que l'ordi fait autre chose et que Excel ne puisse pas travailler: le clignotement est-il bon?
Ok je comprends bien.
J'ai un Pc super équipé pas de disque dur mais des SSD, carte graphique 4 gigas processeur 4gigas 16 gigas de ram rapide.
Mon Pc ne fait rien sans que je le vois par l'intermédiaire du gestionnaire des taches.
Je suis sous Windows 10 et le pack office 2007 installer d'où mon Excel 2007.
Je ne joue a aucun jeu sauf mon kéno LOL et il ni a que moi qui se sert de mon PC ma famille a chacun le sien LOL.
Le clignotement est correct j'ai déjà essayer plusieurs codes ici ou la sur le net et pas de soucis.
Perso moi, je te rejoints a tes explications que tu me dit, a savoir que
la minuterie n'est pas en cause, c'est la technique utilisée pour mesurer le temps. d'autres techniques existent.
Je connais les ordis les démontés / remontés ne me pose aucun problème.
Avant je faisais des programmes en Basic rien avoir avec VBA
A 66 ans plus envies de longues études alors je me débrouille bien mais c'est aussi grâce aux forums et aux gens bénévoles qui partage leurs savoirs, tout comme toi, merci pour ça.
A plus tard Ray
J'ai un Pc super équipé pas de disque dur mais des SSD, carte graphique 4 gigas processeur 4gigas 16 gigas de ram rapide.
Mon Pc ne fait rien sans que je le vois par l'intermédiaire du gestionnaire des taches.
Je suis sous Windows 10 et le pack office 2007 installer d'où mon Excel 2007.
Je ne joue a aucun jeu sauf mon kéno LOL et il ni a que moi qui se sert de mon PC ma famille a chacun le sien LOL.
Le clignotement est correct j'ai déjà essayer plusieurs codes ici ou la sur le net et pas de soucis.
Perso moi, je te rejoints a tes explications que tu me dit, a savoir que
la minuterie n'est pas en cause, c'est la technique utilisée pour mesurer le temps. d'autres techniques existent.
Je connais les ordis les démontés / remontés ne me pose aucun problème.
Avant je faisais des programmes en Basic rien avoir avec VBA
A 66 ans plus envies de longues études alors je me débrouille bien mais c'est aussi grâce aux forums et aux gens bénévoles qui partage leurs savoirs, tout comme toi, merci pour ça.
A plus tard Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
Modifié le 13 oct. 2018 à 18:57
Modifié le 13 oct. 2018 à 18:57
suggestion d'une autre technique pour mesurer le temps plus précisément:
ajouter dans un module la fonction suivante:
et remplacer
en faisant cela, plus de saccade chez moi, même en 2 secondes.
ajouter dans un module la fonction suivante:
Function actuellement() As Date Dim cejour As Date cejour = Date actuellement = cejour + Timer / 24 / 60 / 60 Do While cejour <> Date cejour = Date actuellement = cejour + Timer / 24 / 60 / 60 Loop End Function
et remplacer
Maintenant =nowpar
Maintenant = actuellement()
en faisant cela, plus de saccade chez moi, même en 2 secondes.
Re
Une petite vidéo, de 8Mo c'est pas terrible mais bon, ça reste dans le domaine du visible.
J'ai filmer deux fois la séquence de l'affichage.
https://www.cjoint.com/c/HJnqyWsJ1Rz
avec les paramètres suivants
bonne soirée a toi
Cdlt Ray
Une petite vidéo, de 8Mo c'est pas terrible mais bon, ça reste dans le domaine du visible.
J'ai filmer deux fois la séquence de l'affichage.
https://www.cjoint.com/c/HJnqyWsJ1Rz
avec les paramètres suivants
With U1
.Label3.Caption = Round((m_fin - Maintenant) * 24 * 3600, 0)
.ProgressBar1.Value = .ProgressBar1.Max - .Label3.Caption
For i = 5 To 5 + (40 - 5) * (.ProgressBar1.Value - .ProgressBar1.Min) / (.ProgressBar1.Max - .ProgressBar1.Min)
.Controls("Label" & CStr(i)).visible = True
Next i
.Repaint
End With
End If
End Sub
Public Sub StartBlink()
Dim Fréquence As Long, Duree As Long, i As Integer
Fréquence = 100: Duree = 8 'Fréquence de clignotement, en millisecondes et Durée du clignotement, en secondes
With U1
.Show 0 'Ouvre l'USF1 (0) Pour que les feuill
bonne soirée a toi
Cdlt Ray
Bonjour yg_be,
Merci pour ta réponse et ce nouveau code effectivement c'est moins saccadé.
Sur un temps de durée de 2 secondes tous le labels sont affichés en deux fois.
Sur un temps de durée de 60 secondes tous les labels sont affichés plus ou un par un.
Je serai curieux de savoir comment ils font pour affichés 35 labels en 2 secondes une a une, sur ça doit être très rapide.
Mais sur 60 seconds du coup faut affichés les 35 labels minimum 2x2.
Je ne sais pas si je suis dans le vrai mais bon.
Bon dimanche a toi et merci beaucoup.
Cdlt Ray
Merci pour ta réponse et ce nouveau code effectivement c'est moins saccadé.
Sur un temps de durée de 2 secondes tous le labels sont affichés en deux fois.
Sur un temps de durée de 60 secondes tous les labels sont affichés plus ou un par un.
Je serai curieux de savoir comment ils font pour affichés 35 labels en 2 secondes une a une, sur ça doit être très rapide.
Mais sur 60 seconds du coup faut affichés les 35 labels minimum 2x2.
Je ne sais pas si je suis dans le vrai mais bon.
Bon dimanche a toi et merci beaucoup.
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
14 oct. 2018 à 20:40
14 oct. 2018 à 20:40
ta vidéo confirme mon observation: l'affichage des labels est saccadé parce qu'il ne change qu'une fois par seconde.
avec le dernier code proposé, l'affichage devrait changer à chaque clignotement, donc être presque parfaitement fluide.
je ne comprends pas bien ton dernier message.
"tous les labels sont affichés en deux fois": donc très saccadé, ou c'est bien?
pour afficher 35 labels en 2 secondes un par un, il suffit de diminuer le temps entre 2 clignotements.
pourquoi écris-tu: "60 seconds du coup faut affichés les 35 labels minimum 2x2"? ce n'est pas du tout ce que j'observe.
avec le dernier code proposé, l'affichage devrait changer à chaque clignotement, donc être presque parfaitement fluide.
je ne comprends pas bien ton dernier message.
"tous les labels sont affichés en deux fois": donc très saccadé, ou c'est bien?
pour afficher 35 labels en 2 secondes un par un, il suffit de diminuer le temps entre 2 clignotements.
pourquoi écris-tu: "60 seconds du coup faut affichés les 35 labels minimum 2x2"? ce n'est pas du tout ce que j'observe.
Salut yg_be,
Donc je te confirme bien que c'est moins saccadé.
J'ai accoler tous les labels les uns au autres, du coup je me retrouve avec une barre multicolore.
J'ai fait l'essai comme ça, hé bien figure toi que je trouve que c'est très fluide et même donne un affichage propre.
Par contre, je voudrais bien virer le progressBar pour ne garder que les labels.
Mais je n'arrive pas a recoder correctement, il y a toujours quelque chose qui ne va pas.
Ma question du jour: Le progressBar1 est t'il indispensable pour faire fonctionner les labels.
Et les labels peuvent t'ils fonctionner seuls. ?
Pour le reste du message laisse tomber, je crois bien avoir dit des conneries.
Bon début de semaine a toi et merci pour ton aide.
Cdlt Ray
Donc je te confirme bien que c'est moins saccadé.
J'ai accoler tous les labels les uns au autres, du coup je me retrouve avec une barre multicolore.
J'ai fait l'essai comme ça, hé bien figure toi que je trouve que c'est très fluide et même donne un affichage propre.
Par contre, je voudrais bien virer le progressBar pour ne garder que les labels.
Mais je n'arrive pas a recoder correctement, il y a toujours quelque chose qui ne va pas.
Ma question du jour: Le progressBar1 est t'il indispensable pour faire fonctionner les labels.
Et les labels peuvent t'ils fonctionner seuls. ?
Pour le reste du message laisse tomber, je crois bien avoir dit des conneries.
Bon début de semaine a toi et merci pour ton aide.
Cdlt Ray
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
15 oct. 2018 à 08:49
15 oct. 2018 à 08:49
exemple sans progressbar:
Option Explicit Const Duree As Integer = 10 'Durée du clignotement, en secondes Private Declare Function SetTimer Lib "User32" (ByVal hWnd As Long, ByVal nIDEvent As Long, _ ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "User32" (ByVal hWnd As Long, _ ByVal nIDEvent As Long) As Long Public m_TimerID As Long, m_fin As Date Private Sub Blink() Dim xCell As Range: Dim maintenant As Date Dim Ecoule As Single maintenant = actuellement() Set xCell = Range("F2") With ThisWorkbook.Worksheets("Feuil1").Range("F2").Font If xCell.Font.Color = vbRed Then xCell.Font.Color = vbWhite Else xCell.Font.Color = vbRed End If End With If maintenant > m_fin Then Unload usf1 'Ferme l'USF1 Call StopBlink 'Appel macro arrèt clignotement "STOPBLINK" Else With usf1 Ecoule = Duree - (m_fin - maintenant) * 24 * 3600 .Label3.Caption = Round(Duree - Ecoule, 0) Dim i As Integer For i = 5 To 5 + (36 - 5) * Ecoule / Duree .Controls("Label" & CStr(i)).Visible = True Next i End With End If End Sub Public Sub StartBlink() Dim Duration As Long Duration = 50 'Fréquence de clignotement, en millisecondes With usf1 .Show 0 'Ouvre l'USF1 Pour que les feuilles de calcul restent accessibles passer la boite de dialogue en mode non modal La propriété ShowModal doit être égale à False. .Label1.Caption = "ATTENTION" + Chr$(13) & Chr$(10) + "Une erreur de formule est survenue" + Chr$(13) & Chr$(10) + "Veuillez réparer en recopiant la formule" _ + Chr$(13) & Chr$(10) + "avec la poignée en croix de la cellule" + Chr$(13) & Chr$(10) + "du dessus ou du dessous, svp." 'Affiche message Label1 Dim i As Integer For i = 5 To 36 .Controls("Label" & CStr(i)).Visible = False Next i End With m_fin = Now + TimeSerial(0, 0, Duree) If m_TimerID = 0 Then If Duration > 0 Then m_TimerID = SetTimer(0, 0, Duration, AddressOf Blink) If m_TimerID = 0 Then MsgBox "Echec de l'initialisation du minuteur." End If Else MsgBox "La durée doit être supérieure à zéro." End If Else MsgBox "Timer déja démarré." End If End Sub Public Sub StopBlink() If m_TimerID <> 0 Then KillTimer 0, m_TimerID m_TimerID = 0 Else MsgBox "Timer non actif." End If End Sub
Salut yg_be,
Désolé pour la réponse tardive, RDV ce matin contrôle de santé.
Tout va bien moi et les Labels LOL
Alors j'ai adapter et maintenant c'est bon j'ai virer le progressBar
me reste les Labels qui ça fonctionne bien et je t'en remercie bien.
Je te fait une chtite vidéo après déjeuner bon app a plus tard
Saccade = zéro nickel mème avec durée modifiée
Encore merci pour la modification
Cdlt Raymond
Désolé pour la réponse tardive, RDV ce matin contrôle de santé.
Tout va bien moi et les Labels LOL
Alors j'ai adapter et maintenant c'est bon j'ai virer le progressBar
me reste les Labels qui ça fonctionne bien et je t'en remercie bien.
Je te fait une chtite vidéo après déjeuner bon app a plus tard
Saccade = zéro nickel mème avec durée modifiée
Encore merci pour la modification
Cdlt Raymond
Salut
Voici la vidéo promise 13Mo et j'ai filmer deux fois les labels
j'ai filmer également un soucis que je rencontre sur l'ensemble de mon fichier
je t'en parle après si tu veux bien svp regarder.
je te redonnerai mon fichier tel qui l'ai actuellement, mais chaque chose en son temps.
Les labels ne sont plus pertubés par le progressBar et ça m'a l'air de fonctionner très bien.
https://www.cjoint.com/c/HJpmngsEf3z
Je te parle du petit soucis que j'ai filmer et qui se trouve après les deux vidéos des labels ceci quand tu sera dispo et si tu veux bien.
Bonne après midi et merci a toi
Raymond
Voici la vidéo promise 13Mo et j'ai filmer deux fois les labels
j'ai filmer également un soucis que je rencontre sur l'ensemble de mon fichier
je t'en parle après si tu veux bien svp regarder.
je te redonnerai mon fichier tel qui l'ai actuellement, mais chaque chose en son temps.
Les labels ne sont plus pertubés par le progressBar et ça m'a l'air de fonctionner très bien.
https://www.cjoint.com/c/HJpmngsEf3z
Je te parle du petit soucis que j'ai filmer et qui se trouve après les deux vidéos des labels ceci quand tu sera dispo et si tu veux bien.
Bonne après midi et merci a toi
Raymond
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
15 oct. 2018 à 14:55
15 oct. 2018 à 14:55
je suggère de créer plutôt un nouveau sujet pour ton nouveau petit soucis.
Ok bien recu.
Je vais donc nommer le nouveau sujet "Petit bug sur fichier VBA"
j'attendrai que tu me répondre et je te posterai mon fichier. a ce moment.
Merci a toi
Je vais donc nommer le nouveau sujet "Petit bug sur fichier VBA"
j'attendrai que tu me répondre et je te posterai mon fichier. a ce moment.
Merci a toi
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
15 oct. 2018 à 22:57
15 oct. 2018 à 22:57
peux-tu marquer ceci comme résolu?
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
>
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
29 oct. 2018 à 21:51
29 oct. 2018 à 21:51
peux-tu marquer ceci comme résolu?