Je te remercie le code fonctionne mais le problème c'est qu'il ne foncitonne pas exactement quand je veux.
Dans un module j'ai le code suivant me permettant donc de faire clignoter en changeant de couleurs :
Option Explicit
Public Cible As Boolean
Sub Demarrer()
Application.OnTime Now + TimeValue('0:0:01'), 'MiseAJour'
End Sub
Sub MiseAJour()
If Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012 Then
Enregistrement_en_cours_fichier.Label1.ForeColor = &HFF&
Else
Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012
End If
If Cible = True Then
Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012
Exit Sub
End If
Call Demarrer
End Sub
Ensuite j'ai le code suivant sur de mes usf. Cette usf s'affiche après que j'ai décidé de sauvegarder mon fichier puis le quitter.
Donc le code suivant affiche 'Veuillez patienter…' jusqu'à la fin de l'enregistrement, puis une fois celui-ci terminé indique 'Enregistrement terminé!'
Ce que je veux c'est que ces 2 label1 ('veuillez patienter…' et 'Enregistrement terminé!') clignotent durant le temps de l'enregistrement et le temps d'affichage de 'Enregistrement terminé!'.
Le but étant de montrer à l'utilisateur que l'enregistrement est tj en cours et que ça n'a pas planté. J'ai vu d'autres sol que je trouvait bien trop compliquées.
Alors pour ça, il faut appeler le module demarrer. Pour cela je place Call Demarrer dans le code suivant.
Or que je le place à n'importe quel endroit le résultat est le même, le clignotement ne marche que lors de l'affichage de 'Enregistrement terminé!', càd après l'enregistrement.
J'ai bien essayé plein de chose mais là je ne vois pas. Donc si quelqu'un ne voit pas je vais finalement laissé tomber le clignotement.
Option Explicit
Dim pausetime, start
Private Sub UserForm_Activate()
Label1.Caption = 'Veuillez patienter...'
pausetime = 0.1
start = Timer
Do While Timer < start + pausetime
DoEvents
Loop
ActiveWorkbook.Save
Label1.Caption = 'Enregistrement terminé!'
pausetime = 2.5
start = Timer
Do While Timer < start + pausetime
DoEvents
Loop
Unload Enregistrement_en_cours_fichier
ActiveWorkbook.Close
End Sub
Voix tu une solution possible stp?