Mise à jour d'un graphique dans Excel 365
Résolu/Fermé
A voir également:
- Mise à jour d'un graphique dans Excel 365
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme conditionnelle excel - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Liste déroulante excel - Guide
- Mise a jour windows 7 - Accueil - Mise à jour
5 réponses
via55
Messages postés
14494
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 octobre 2024
2 734
Modifié le 18 avril 2020 à 23:06
Modifié le 18 avril 2020 à 23:06
Bonsoir
ton code s’exécute mais tellement vite que tu ne vois rien
Il faut mettre une pause avant le Next
Pour une pause d'une seconde
Ce sera sympa de poster ton fichier lorsqu'il sera fonctionnel (aller sur cjoint.com, telécharger le fichier, faire créer un lien, le copier et revenir le coller ici)
Cdlmnt
Via
ton code s’exécute mais tellement vite que tu ne vois rien
Il faut mettre une pause avant le Next
Pour une pause d'une seconde
Application.Wait (Now + TimeValue("00:00:01") )
Ce sera sympa de poster ton fichier lorsqu'il sera fonctionnel (aller sur cjoint.com, telécharger le fichier, faire créer un lien, le copier et revenir le coller ici)
Cdlmnt
Via
Bonsoir Via,
Un grand merci pour ta réponse.
J'y avais pensé, j'avais inséré dans la boucle "For - Next" un délai mais le graphique reste toujours figé. Snifff.
Bonne soirée !
François.
Un grand merci pour ta réponse.
J'y avais pensé, j'avais inséré dans la boucle "For - Next" un délai mais le graphique reste toujours figé. Snifff.
Bonne soirée !
François.
Bonsoir,
Après de nombreuses recherches sur d'autres forums, j'ai enfin trouvé une solution à mon problème, voici le code qui fonctionne :
Sub angle()
For x = 0 To 360
Calculate
Range("a1") = x
DoEvents
Next x
End Sub
L'ajout des instructions "Calculate" et "DoEvents" permettent au graphique de se mettre à jour...... mais je ne comprends absolument pas pourquoi....
J'ai beau chercher dans l'aide l'action de ces instructions, je ne comprends pas car il semble qu'il s'agit d'une méthode et d'une fonction... ???
Si qq'un pouvait un peu éclairer ma lanterne, ce serait super sympa !
D'avance merci et bonne nuit...
François.
Après de nombreuses recherches sur d'autres forums, j'ai enfin trouvé une solution à mon problème, voici le code qui fonctionne :
Sub angle()
For x = 0 To 360
Calculate
Range("a1") = x
DoEvents
Next x
End Sub
L'ajout des instructions "Calculate" et "DoEvents" permettent au graphique de se mettre à jour...... mais je ne comprends absolument pas pourquoi....
J'ai beau chercher dans l'aide l'action de ces instructions, je ne comprends pas car il semble qu'il s'agit d'une méthode et d'une fonction... ???
Si qq'un pouvait un peu éclairer ma lanterne, ce serait super sympa !
D'avance merci et bonne nuit...
François.
via55
Messages postés
14494
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 octobre 2024
2 734
Modifié le 19 avril 2020 à 01:41
Modifié le 19 avril 2020 à 01:41
Calculate force Excel à recalculer la feuille mais il n'y en même pas besoin tu peux supprimer cette ligne
DoEvents suspend la macro et rend la main au système donc la boucle affiche une valeur en A1 puis DoEvents rend la main à Excel, le graphique prend en compte la valeur de A1 puis la boucle continue, nouvelle valeur, nouvelle pause dans la macro, le graphique se met à jour etc d'où l'effet d'animation
par contre tu ne peux pas régler la vitesse de l'animation alors qu'avec Application.Wait tu mets le temps de latence que tu veux
DoEvents suspend la macro et rend la main au système donc la boucle affiche une valeur en A1 puis DoEvents rend la main à Excel, le graphique prend en compte la valeur de A1 puis la boucle continue, nouvelle valeur, nouvelle pause dans la macro, le graphique se met à jour etc d'où l'effet d'animation
par contre tu ne peux pas régler la vitesse de l'animation alors qu'avec Application.Wait tu mets le temps de latence que tu veux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question