Boucle 10 fois toutes les secondes puis fin

Résolu
Jimmy59116 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
Jimmy59116 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je galère un max avec une petite appli en VBA excel

Le but du jeu est de lancer un "chronomètre" : mettre en transparent une cellule toutes les secondes pendant 10 secondes puis arrêter.

Avec la fonction application.wait il me bloque excel alors que j'ai besoin d'accéder à la feuille pendant ce temps là...

Avec Application.ontime je ne parviens pas à maîtriser la boucle.

J'ai essayé avec

for i = 1 to 10
Application.OnTime Now + TimeValue('00:00:01'), "ma macro"
Next

Mais il le fait une fois pour les 10 cellules en 1 seconde...

J'ai essayé plein d'autres méthodes, et comme d'hab, après des heures de lutte, je rends les armes et m'en remets à vous !

Code complet :

Sub chrono()
For i = 1 To 10
Application.OnTime Now + TimeValue("00:00:01"), "chrono_color"
Next
End Sub

Sub chrono_color()
' La cellule est sélectionnée dans une macro précédente
ActiveCell.Select

With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Offset(0, 1).Select
End Sub

Merci pour votre précieuse aide !!!


A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

essaies
cptr = 1
    While cptr < 11
     Start = Timer
        Do While Timer < Start + 1
            DoEvents 'rend la main au systeme
        Loop
        Range("A1") = cptr 'exemple basique on compte les secondes _
                                             insérer ici l'action
        cptr = cptr + 1
    Wend


mais le sélect selection est à éviter en VBA
0
Jimmy59116 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   1
 
Un grand merci Michel !

Une fois encore, je ne comprends pas tout dans ton code, mais ça fonctionne à merveille...

Je me pencherais sur les fonctions timer pour comprendre ta boucle.

Depuis tes premières réponses, tu me dépatouilles souvent et je t'en remercie vivement.

A bientôt !

Jimmy
0