Microsoft 365 Animation en attente de résultat

  • Initiateur de la discussion Initiateur de la discussion Claudy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Claudy

XLDnaute Accro
Bonjour,
dans un fichier.xlsm, une macro qui cherche, calcule, bref ça prend un peu de temps (quelques secondes) ...
Dans l'attente du résultat, y a t il possibilité d'afficher une petite animation, dans le genre, sablier, boulier qui tourne (ça ce serait top) , spirale, ou autre?
Idéalement avec du son...

Merci,

Claudy
 
Dernière édition:
Bonjour.
J'ai deux UserForm :
1) — UFmProg: une barre de progression avec en plus une barre d'activité affichant le nombre d'opérations élémentaires par seconde, le pourcentage effectué, l'heure de fin prévue suivi du délai restant. Mais elle nécessite de connaitre à l'avance combien de fois elle va être actualisée.
1) — UFmVisu: juste une barre d'activité montrant la part résolue, la partie non résolue, et les limites couverte par la séparation entre les deux au cours des 40 dernières millisecondes. Convient pour des tâches de durées indéterminées comportant des retours en arrière pour essayer d'autres voies, genre tirages au sort de participants pour compétitions avec contraintes de rencontres uniques, voire terrain de jeu occupé une seule fois …
 
Chez moi le gif ne s'anime pas lors du test. 🙁
Est-ce normal ?
Bonsoir Dudu, et merci,
J'ai trouvé un boulier .mp4 que j'ai transformé en .gif, mais trop volumineux à charger ici sur lesite🙁
Donc capture d'écran avec LICECap en annexe et ça marche.

Je vais retravailler ton .xlsm, je te tiens au courant.

Question complémentaire: comment y intègrer un .wav à lafin de l'animation?
ou un bouton qui lance un .wav

Merci,

Claudy
 

Pièces jointes

  • boulierdémo.gif
    boulierdémo.gif
    674.4 KB · Affichages: 15
Pour jouer un .wav j'ai retrouvé ça dans mon backlog.
VB:
Private Const SND_APPLICATION = &H80 ' look for application specific association
Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier
Private Const SND_ASYNC = &H1 ' play asynchronously
Private Const SND_FILENAME = &H20000 ' name is a file name
Private Const SND_LOOP = &H8 ' loop the sound until next sndPlaySound
Private Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Private Const SND_NODEFAULT = &H2 ' silence not default, if sound not found
Private Const SND_NOSTOP = &H10 ' don't stop any currently playing sound
Private Const SND_NOWAIT = &H2000 ' don't wait if the driver is busy
Private Const SND_PURGE = &H40 ' purge non-static events for task
Private Const SND_RESOURCE = &H40004 ' name is a resource name or atom
Private Const SND_SYNC = &H0 ' play synchronously (default)
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
    (ByVal lpszName As String, ByVal hModule As LongPtr, ByVal dwFlags As Long) As Long

Sub Jouer_Click()
    PlaySound "G:\MOSAIQUE\son_1.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
End Sub

Sub Arreter_Click()
    PlaySound 0&, ByVal 0&, SND_FILENAME Or SND_ASYNC
End Sub
 
Ok, en plus court.
Code:
Private Const SND_ASYNC = &H1           ' play asynchronously
Private Const SND_FILENAME = &H20000    ' name is a file name

Private Declare PtrSafe Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
    (ByVal lpszName As String, ByVal hModule As LongPtr, ByVal dwFlags As Long) As Long

'---------------------
'Jouer un fichier .wav
'---------------------
Sub JouerWav(FileFullName As String)
    Call PlaySound(FileFullName, ByVal 0&, SND_FILENAME Or SND_ASYNC)
End Sub
 
bon soir
ce qu'il y a de bien avec les truc obsolètes que CROCROsoft laisse tomber
c'est que l'on peut en faire ce que l'on veut
et c'est juste ment le cas pour l'object internet explorer
en plus de ça je te propose un truc qui ne prendra pas l'UC réservé a excel

une petite démo j'ouvre une fenêtre avec un marquee en guise d'animation
elle se ferme quand ma grande boucle a fini
VB:
Function waitProcess() As Object
    Dim IE
    Set IE = CreateObject("internetexplorer.application")
    With IE
        .Visible = True
        .StatusBar = False
        .Toolbar = False
        .Width = 200: .Height = 100
        .navigate "about:blank"
        Do While .readystate < 4: DoEvents: Loop
        With .document
            .Title = "procedure en cours"
            .write "<marquee> Veuillez patienter pendant la procédure</marquee>"
        End With

    End With
    Set waitProcess = IE
End Function

Sub test()
    Set x = waitProcess
    For i = 1 To 800000000
    Next
    x.Quit
End Sub
alors après tout est permis dans ton document html de ta page
demo.gif
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour