J'ai trouvé sur le net le code ci-dessous, devant afficher un popup durant 1 seconde. Le problème est que le popup ne se ferme. Je n'ai pas compris pour quelle raison il ne se ferme pas.
VB:
CreateObject("Wscript.shell").Popup "IMPRESSION EN COURS!", 1, "EDITION"
La fenêtre qui s'affiche est dotée d'un bouton "OK" (comme c'est le cas (pas de fermeture) ce bouton est utile).
Je voudrais obtenir juste un message (pour aviser l'utilisateur que l'impression est lancée), pendant un cours instant dans le style d'une fenêtre de commentaire, c'est à dire sans bouton. Auriez-vous une astuce à me proposer?
Un grand bravo. C'est ce que que je voulais obtenir. un message pour avertir l'utilisateur.
Mais dans ton code, il y a quelque chose de bizarre. Il fonctionne parfaitement et justement pourquoi il ne bogue pas sur la dernière ligne de code.
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets(1).Shapes("texte").Visible = True
Application.Wait Now + TimeValue("00:00:00")
Application.Wait Now + TimeValue("00:00:05")
Sheets(1).Shapes("texte").Visible = fales 'ici ce n'est pas la bonne orthographe et ça fonctionne
End Sub
C'est vrai que mon fichier je le garde précieusement (je dois avoir plus de 500 lignes)et je le déplace partout où je vais . Dès que j'ai besoin d'un code, allez hop, Mon pense Bête, cela me rappelle le Forum .
Sinon, on en avait parlé ici du problème de popup qui m'a d'ailleurs servi dans mon super fichier :
Un grand bravo. C'est ce que que je voulais obtenir. un message pour avertir l'utilisateur.
Mais dans ton code, il y a quelque chose de bizarre. Il fonctionne parfaitement et justement pourquoi il ne bogue pas sur la dernière ligne de code.
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets(1).Shapes("texte").Visible = True
Application.Wait Now + TimeValue("00:00:00")
Application.Wait Now + TimeValue("00:00:05")
Sheets(1).Shapes("texte").Visible = fales 'ici ce n'est pas la bonne orthographe et ça fonctionne
End Sub
Sheets(1).Shapes("texte").Visible = fales est une erreur due à la précipitation, il fallait lire False
Pourquoi ça fonctionne quand même:
c'est parce que dans ce cas précis, fales est considéré comme étant une variable et comme aucune valeur n'a été affectée à cette variable, c'est comme si fales=0
j'aurais très bien pu écrire: Sheets(1).Shapes("texte").Visible = 0
ça revient au même
Mais dans ton code, il y a quelque chose de bizarre. Il fonctionne parfaitement et justement pourquoi il ne bogue pas sur la dernière ligne de code. Sheets(1).Shapes("texte").Visible = fales 'ici ce n'est pas la bonne orthographe et ça fonctionne
fales correspond ici à une variable. Comme elle n'a pas été initialisée elle est =0.
Ca tombe bien, c'est ce que voulait. Mais c'est un pur hasard...
D'où l'intérêt de cocher 'Déclaration obligatoire des variables' dans les options de VBE qui t'alerte sur ce type d'erreur qui en plus sont très difficiles à voir.
eric
j'espère que tu as bien compris que c'est False qu'il faut mettre et non pas fales !
car, quand je te lis, j'ai un doute !?
Messieurs je vous remercie pour vos explications. C'est plus clair. J'avais compris qu'il s'agissait de False et no de fales.
Merci beaucoup. J'ai effectivement corrigé et "False" au lieu de "fales".
Je m'étais rendu compte de l'erreur d'orthographe après avoir testé le code. Et du coup, je m'étais étonné pourquoi ça n'avait pas planté. Les explications données par phlaurent55 et eriiiic sont très claires.
Mais je n'ai toujours pas compris pourquoi le popup ne ce ferme pas.
Sinon, Cathodique, est-ce que ce code fonctionne chez toi?
Code:
Code VBA:
Sub PopupXL2013()
'http://stackoverflow.com/questions/4274103/whats-the-best-way-to-display-a-m-box-with-a-timeout-value-from-vba
CreateObject("WScript.Shell").Run "mshta.exe vbscript:close(CreateObject(""WScript.Shell"").Popup(""Test"",2,""Real%20Time%20Status%20Message""))"
End Sub
Edit : ton code (FAQ de Developpez.net) fonctionne aussi de mon côté …
Quelle version de Windows ?
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …
_______________________________________________________________________________ Je suis Paris, Charlie, …