Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire clignoter jusqu'à ce que ...

11 réponses
Avatar
Pierre F.
Bonjour à toutes et tous!

Je cherche à faire clignoter 3 cellules, successivement

J'ai trouvé sur ce forum la petite macro ci-dessous mais je n'arrive pas
à la transformer selon mon souhait
-----------------
Sub Clignot()

Range("B4").Select
For compteur = 1 To 3
With Selection.Font
.Name = "Arial"

.Size = 14
.ColorIndex = 2
End With
Application.Wait Now + TimeValue("00:00:01") / 1.5
'Pour augmenter la vitesse du clignotement
'Application.Wait Now + (TimeValue("00:00:01")) / 2

With Selection.Font
.Name = "Arial"
.Size = 14
.ColorIndex = 3
End With
Application.Wait Now + TimeValue("00:00:01") / 1.5
Next
Range("b3").Select

End Sub
---------------------
J'ai en B4, C4, D4 les cases que je souhaite faire clignoter selon le
déroulement suivant:

A l'arrivée sur la feuille (Feuil1 qui n'est pas la feuille d'arrivé par
défaut) de ce classeur qui en compte 25, je souhaiterais que seule la
cellule B4 clignote jusqu'à ce que la valeur de la cellule B3 (à 0 par
défaut) soit changée par l'utilisateur (au moyen d'une liste déroulante)
et devienne non nulle.

Dès que c'est fait, je souhaiterais que la cellule C4 clignote jusqu'à
ce que la cellule C3 ('--- par défaut) soit changée avec un mot d'une
deuxième liste déroulante.

Dès que c'est fait, je souhaiterais que la cellule D4 clignote jusqu'à
ce que l'utilisateur clique sur D3 qui est un objet rectangle
déclenchant une macro.

Voilà, c'est tout simple non ?? ;-)

Voir le cjoint: http://cjoint.com/?bFsdCCICZ4

Mille merci pour vos pistes et/ou soluces forcément éclairantes.

Cordialement,
Pierre F.

10 réponses

1 2
Avatar
FFO
Salut Pierre

Le clignotement des cellules dans les fichiers Excel n'est pas trés
conseillé (instabilité et besoin en ressource non négligeable)

Je te propose une autre solution qui consiste à activer de manière
systématique les cellules à renseigner avec message à l'appui tant que
celles-ci ne le sont pas

Sur ce lien ton fichier adapté ainsi

Fais des essais et dis moi !!!!!!

http://www.cijoint.fr/cjlink.php?file=cj200901/cijBDHlnUM.xls
Avatar
FFO
Rebonjour Pierre

Le précédent fichier que je t'ai transmis comporte une anomalie qui altère
son ouverture
En lieu et place récupère celui-ci

Mille excuses

Tiens moi informé !!!!!

http://www.cijoint.fr/cjlink.php?file=cj200901/cijSA0IL2H.xls
Avatar
Pierre F.
FFO a écrit :
Rebonjour Pierre

Le précédent fichier que je t'ai transmis comporte une anomalie qui altère
son ouverture
En lieu et place récupère celui-ci
http://www.cijoint.fr/cjlink.php?file=cj200901/cijSA0IL2H.xls



Hello FFO;

Merci pour cette piste qui me semble en effet bien plus sage et propre.
Toutefois, elle passe assez mal au niveau du reste du code du classeur
et, en particulier, du premier et du dernier clic à à faire.

Je m'explique:
Au chargement, l'utilisateur arrive sur une page dite "d'accueil"; il
doit cliquer sur un des éléments proposés qui qui le dirigera vers la
feuil1: là déjà, après ce premier clic, le Msgbox apparait alors qu'il
n'a pas encore basculé sur la feuil1.
Ensuite ça se passe bien: B4 est vert, b3 actif et on peut faire ce
qu'on veut, on revient à devoir choisir, Impec.
Idem pour la partie C4/C3, impec.
Ça se gâte avec le denier clic sur l'objet rectangle qui déclenche une
macro: en fait elle est plus ou moins déclenchée mais tout se bloque et
elle bogue.

L'idéal serait qu'au moment du clic sur le rectangle, tout le code de la
feuil1 soit annulé et que la macro puisse démarrer...

Pour plus de clarté, j'ai mis le fichier complet en cijoint (Attention,
c'est une "usine à gaz" de plus de 2Mo!! :-) mais sans ton code sur la
feuil1.

http://www.cijoint.fr/cjlink.php?file=cj200901/cijiJuNcal.xls

Merci pour ton aide.

Cordialement,
Pierre F.
Avatar
FFO
Bonsoir Pierre

Je découvre à l'instant ta réponse
J'analyserai ton fichier Lundi et t'apporterai une réponse dés que possible

A bientôt


"Pierre F." wrote:

FFO a écrit :
> Rebonjour Pierre
>
> Le précédent fichier que je t'ai transmis comporte une anomalie qui altère
> son ouverture
> En lieu et place récupère celui-ci
> http://www.cijoint.fr/cjlink.php?file=cj200901/cijSA0IL2H.xls

Hello FFO;

Merci pour cette piste qui me semble en effet bien plus sage et propre.
Toutefois, elle passe assez mal au niveau du reste du code du classeur
et, en particulier, du premier et du dernier clic à à faire.

Je m'explique:
Au chargement, l'utilisateur arrive sur une page dite "d'accueil"; il
doit cliquer sur un des éléments proposés qui qui le dirigera vers la
feuil1: là déjà, après ce premier clic, le Msgbox apparait alors qu'il
n'a pas encore basculé sur la feuil1.
Ensuite ça se passe bien: B4 est vert, b3 actif et on peut faire ce
qu'on veut, on revient à devoir choisir, Impec.
Idem pour la partie C4/C3, impec.
Ça se gâte avec le denier clic sur l'objet rectangle qui déclenche une
macro: en fait elle est plus ou moins déclenchée mais tout se bloque et
elle bogue.

L'idéal serait qu'au moment du clic sur le rectangle, tout le code de la
feuil1 soit annulé et que la macro puisse démarrer...

Pour plus de clarté, j'ai mis le fichier complet en cijoint (Attention,
c'est une "usine à gaz" de plus de 2Mo!! :-) mais sans ton code sur la
feuil1.

http://www.cijoint.fr/cjlink.php?file=cj200901/cijiJuNcal.xls

Merci pour ton aide.

Cordialement,
Pierre F.



Avatar
Pierre F.
FFO a écrit :

Je découvre à l'instant ta réponse
J'analyserai ton fichier Lundi et t'apporterai une réponse dés que possible



Pas de problème; mille mercis de t'occuper de ça

Cordialement,
Pierre F.
Avatar
FFO
Salut Pierre

Comme convenu ton fichier corrigé

J'ai modifié ceci :
Feuil1
Cellule B3 j'ai rajouté l'option 0 dans la liste
Cellule C3 j'ai rajouté l'option "---"

afin de tester mon code (ces choix son indispensables pour son fonctionnement)

J'utilise la cellule A1 pour le fonctionnement du code (0 en cours de choix
et 1 choix terminé ne pas utiliser donc cette cellule à d'autre fin)

Macro "Jouer"
J'ai rajouté une ligne pour remettre la couleur Jaune à la cellule D4

Sur ce lien ton document adapté ainsi :

http://www.cijoint.fr/cjlink.php?file=cj200902/cij3veivkf.xls

Fais des essais et dis moi !!!!
Avatar
Pierre F.
FFO a écrit :
Salut Pierre

Comme convenu ton fichier corrigé

J'ai modifié ceci :
Feuil1
Cellule B3 j'ai rajouté l'option 0 dans la liste
Cellule C3 j'ai rajouté l'option "---"

afin de tester mon code (ces choix son indispensables pour son fonctionnement)

J'utilise la cellule A1 pour le fonctionnement du code (0 en cours de choix
et 1 choix terminé ne pas utiliser donc cette cellule à d'autre fin)



Hello FFO!

Merci pour ces modifs qui améliorent le projet.
Toutefois, il reste un blème que j'ai pu repérer.

A la première arrivée sur la feuil1, pas de souci, on doit passer par B3
puis C3.
J'ai supprimé les lignes concernant D4 et D3 qui faisaient tourner en
boucle le dernier choix (D3 est suffisamment grand, visible et explicite
pour qu'on clique dessus).

Par contre le problème vient de la macro déclenchée par D3

En effet, elle commence par faire des calculs sur feuil2... et revient
dans feuil1 pour y écrire les résultats des calculs, ce qui implique que
le code de la feuil1 recommence et la macro bugue sur:

Sheets("Feuil1").Select
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

avec le message:
"La méthode Paste spécial de la classe Range a échoué"

Serait-il possible, au moment du clic dans le cadre de la macro qui
déclanche le choix des questions (D3), d'effacer le code de la feuil1
afin qu'en cas de retour sur cette feuille, les msgbox ne s'affichent
plus... et bien évidemment qu'en cas de retour sur la page d'accueil, ce
code soit restauré ??

C'est un peu tordu mais je ne vois pas vraiment d'autre alternative.

Merci.

Cordialement,
Pierre F.
Avatar
FFO
Rebonjour à toi

J'ai testé le fonctionnement et je n'ai pas l'anomalie

Ne serait il pas du à la suppression D4 et D3 dont tu parles ????

De plus je suis étonné de ce que tu mentionnes sur le fonctionnement :

"J'ai supprimé les lignes concernant D4 et D3 qui faisaient tourner en
boucle le dernier choix (D3 est suffisamment grand, visible et explicite
pour qu'on clique dessus)."



Je n'ai jamais eu cette boucle tout au plus 2 fois le message demandant à
cliquer


lorsque l'on a cliqué sur D3 la cellule A1 est à 1 et D4 est de couleur
jaune conditions pour que mon code ne soit pas réexécuté

J'ai testé et celà fonctionne ainsi

Je ne comprends donc pas ta difficulté :

Serait-il possible, au moment du clic dans le cadre de la macro qui
déclanche le choix des questions (D3), d'effacer le code de la feuil1
afin qu'en cas de retour sur cette feuille, les msgbox ne s'affichent
plus... et bien évidemment qu'en cas de retour sur la page d'accueil, ce
code soit restauré ??




Merci de m'en dire plus ou de me fournir l'exemple qui dysfonctionne

Dans l'attente de te lire
Avatar
Pierre F.
FFO a écrit :

J'ai testé le fonctionnement et je n'ai pas l'anomalie



Merci de te pencher si profondément sur ce code

Ne serait il pas du à la suppression D4 et D3 dont tu parles ????



Non; ça je l'ai fait suite aux problèmes.

Mais je te donne ci-dessous l'ordre d'apparition des anomalies chez moi
(windows XP-sp3, office 10, excel 10.0685)

-Charger le dossier OK
-Choisir sur la page d'accueil un chapitre: juste après le choix, le
msgbox apparait dàjà avant de quitter la page d'accueil (2 clics
nécessaires pour passer sur la feuil1).

Sur la feuil1:
-Choix du nb de questions: OK
-Choix du verbe: OK
-Clic sur D3 pour lancer le jeu: msgbox 4 fois à cliquer, temps d'arrêt
(= macro de tri probablement), puis 2 fois msgbox à cliquer
et qui aboutit au plantage de la macro nommée Sub copierquestionsf1()
En cliquant alors sur "fin" (ou "Débogage") et en recliquant sur D3 tout
se passe alors normalement ad aeternum :-)
C'est donc seulement à la première utilisation que ça bogue (en fait à
l'arrivée sur feuil1 depuis la page d'accueil).

J'ai le pressentiment que c'est lié à D3; en effet, D3 est en fait vide;
c'est une zone de texte placée exactement au-dessus qui contient le
message "Cliquer ici pour commencer" et qui est est associée à la macro.

Merci de m'en dire plus ou de me fournir l'exemple qui dysfonctionne



C'est le fichier que tu as mis en cijoint
http://www.cijoint.fr/cjlink.php?file=cj200902/cij3veivkf.xls

En définitive, ce qui est fondamental pour que ça tourne correctement,
c'est que B3 et C3 soient complétés; à partir de là, faire simplement
changer la couleur de D4 suffirait largement.

Cordialement,
Pierre F.
Avatar
FFO
Rebonjour Pierre

Sur ce lien ton fichier avec de nouvelles modifications :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijWjJJ1FD.xls

Fais des essais et dis moi !!!!!
1 2