J'ai posté à la suite d'un sujet mais je ne retrouve plus mon message. Voici ce que j'avais écris :
J'ai une feuille de mon classeur (la 5) qui se met à jour le matin à 8h00. La feuille 1 elle va chercher certaines valeurs de la feuille 5 pour faire des calculs. C'est cette feuille 1 que je voudrais imprimer à partir de 8h00 (j'ai plannifié une tâche pour qu'il s'ouvre tous les matins). Le problème c'est que lorsque le fichier s'ouvre automatiquement la mise à jour ne s'effectue pas.
Est-ce qu'en programmant ceci, la mise à jour se fera automatiquement ?
Private Sub Worksheet_Calculate()
Worksheet(5).Calculate
End Sub
Section Calcul
Les options de la section Calcul vous permettent de spécifier la manière dont Microsoft Excel calcule vos feuilles de calcul. Pour calculer la feuille de calcul active et tout autre graphique ou feuille de graphique associés à celle-ci, cliquez sur Calculer document. Les autres options de calcul affectent toutes les feuilles de calcul ouvertes dans la session en cours. Le mode de calcul par défaut d'Excel est 'automatique'. Automatique Recalcule toutes les formules associées à chaque fois que vous modifiez une valeur, une formule ou une plage. Cette option correspond au mode de calcul par défaut.
Automatique sauf les tables Calcule toutes les formules associées à l'exception des tables de données. Pour calculer les tables de données, cliquez sur Calculer maintenant sous l'onglet Calcul.
Manuel Calcule les classeurs ouverts uniquement lorsque vous cliquez sur Calculer maintenant sous l'onglet Calcul. Lorsque vous cliquez sur Manuel, Excel active automatiquement la case à cocher Recalcul avant l'enregistrement. Si l'enregistrement de votre classeur est long, désactivez la case à cocher Recalcul avant l'enregistrement pour l'accélérer quelque peu.
Recalcul avant l'enregistrement Recalcule les données avant l'enregistrement du classeur.
Calculer maintenant (F9) Calcule toutes les feuilles de calcul ouvertes, y compris les tables, et met à jour toutes les feuilles de graphique ouvertes.
Calculer document Calcule la feuille de calcul active et tout graphique ou toute feuille de graphique associés à celle-ci.
Itération Limite l'itération pour la recherche ou la résolution des références circulaires. Sauf spécification contraire de votre part, Excel arrête après 100 itérations ou lorsque l'écart de modification est inférieur à 0,001. Vous pouvez limiter l'itération en modifiant la valeur du champ Nb maximal d'itérations ou du champ Écart maximal, ou des deux.
Nb maximal d'itérations Tapez une valeur numérique dans le champ Nb maximal d'itérations et Écart maximal pour modifier le nombre maximal d'itérations et l'écart maximal en dessous duquel l'itération se termine.
Écart maximal Tapez une valeur numérique dans le champ Nb maximal d'itérations et Écart maximal pour modifier le nombre maximal d'itérations et l'écart maximal en dessous duquel l'itération se termine.
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
mais pour vous si vous voulez que la mise à jour ne soit faite qu'à huit heures il faudra sans doute mettre en manuel uniquement pour ce fichier
peut-être faudra-t-il aussi jouer avec ces lignes de code
With Application
.Calculation = xlManual
.CalculateBeforeSave = False
End With
et
Calculate
a l'ouverture et à la fermeture
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
si vous ne voulez pas que le fichier se mette à jour pendant le reste de la journée il faut mettre une condition.
je m'explique
le fichier s'ouvre automatiquement à huit heures il doit se mettre à jour une fois cette mise à jour faite il ne faut plus que la mise à jour se fasse
si c'est cela mettre ce code dans le thisworkbook
je n'est mis que 5 minutes pour la mise à jour à adapter
Private Sub Workbook_Open()
'Application.Calculation = xlAutomatic
If Time > "8:00" And Time < "8:05" Then
Sheets(5).Calculate
Else
Exit Sub
End If
Application.Calculation = xlManual
End Sub
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
Le fichier ne se met pas à jour le reste de la journée, la mise à jour se fait dès que l'on a ouvert le classeur ensuite pour se remettre à jour il faut attendre le lendemain à 8h00.
oui c'est pour cela que je donne cinq minutes de débattement le temps d'ouverture
ensuite la mise à jour ne sera effective que le lendemain
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.