Excel Calcule manuel/sur ordre de feuilles
Vince-C
Messages postés
37
Statut
Membre
-
Audre -
Audre -
Bonjour,
Sur un fichier Excel j'ai plusieurs onglets dont 3 remplis de sommeprod. Etant donnée le nombre très important de sommeprod cela fait ramer le fichier. N'ayant pas besoin de mettre a jours ces 3 onglets a chaque ouverture du fichier je souhaiterais savoir si il est possible de lancer le calcule sur ordre uniquement pour les 3 onglet et de garder les autres en calcule automatique.
Merci par avance !
Vincent-C
Sur un fichier Excel j'ai plusieurs onglets dont 3 remplis de sommeprod. Etant donnée le nombre très important de sommeprod cela fait ramer le fichier. N'ayant pas besoin de mettre a jours ces 3 onglets a chaque ouverture du fichier je souhaiterais savoir si il est possible de lancer le calcule sur ordre uniquement pour les 3 onglet et de garder les autres en calcule automatique.
Merci par avance !
Vincent-C
A voir également:
- Excel Calcule manuel/sur ordre de feuilles
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Liste déroulante excel - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Manuel d'utilisation - Guide
3 réponses
J'ai eu le cas d'un excel dépassant les 100 Mo... Et il fallait une minute de calcul. Donc pour passer outre le calcul automatique j'ai coder quelques lignes en VBA.
Dans le Workbook il faut que tu es au moins cela....
---------------------------------------------------------------------------------------------------
Private Sub Workbook_Open()
Application.Calculation = xlManual
End Sub
----------------------------------------------------------------------------------------------------
Dans chaque feuille tu dois mettre ce code...
----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Activate()
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_Deactivate()
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
Cela te permettra de calculter à chaque changement dans la feuille
Après tu peux faire en sorte que certaines feuilles ordonnent les calculs à d'autres.
-----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Calculate()
Feuil1.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
A partir de cela tu peux même définir un ordre de calcul ... (si dessous)
-----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Calculate()
Feuil1.Calculate
Feuil7.Calculate
Feuil10.Calculate
Feuil8.Calculate
Feuil25.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
Après cela dépend comment tu veux ordonner le calcul commandé des feuilles
Par un bouton, par le calcul d'une autre feuille.... A toi de voir.
De plus tous le code si dessus te permettra de faire en sorte que seule la feuille active (celle que tu utilise) soit calculée, et/ou de calculer les feuilles dans l'ordre que tu le désire et quand tu le désire.
Attention, le code sera à adapter à ton fichier
En espérant t'avoir aider un peu
Kaname63
Windows Seven & XP // Office 2003 & 2007 // VB.net // Builder C++
Dans le Workbook il faut que tu es au moins cela....
---------------------------------------------------------------------------------------------------
Private Sub Workbook_Open()
Application.Calculation = xlManual
End Sub
----------------------------------------------------------------------------------------------------
Dans chaque feuille tu dois mettre ce code...
----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Activate()
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_Deactivate()
ActiveSheet.Calculate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
Cela te permettra de calculter à chaque changement dans la feuille
Après tu peux faire en sorte que certaines feuilles ordonnent les calculs à d'autres.
-----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Calculate()
Feuil1.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
A partir de cela tu peux même définir un ordre de calcul ... (si dessous)
-----------------------------------------------------------------------------------------------------
Private Sub Worksheet_Calculate()
Feuil1.Calculate
Feuil7.Calculate
Feuil10.Calculate
Feuil8.Calculate
Feuil25.Calculate
End Sub
-----------------------------------------------------------------------------------------------------
Après cela dépend comment tu veux ordonner le calcul commandé des feuilles
Par un bouton, par le calcul d'une autre feuille.... A toi de voir.
De plus tous le code si dessus te permettra de faire en sorte que seule la feuille active (celle que tu utilise) soit calculée, et/ou de calculer les feuilles dans l'ordre que tu le désire et quand tu le désire.
Attention, le code sera à adapter à ton fichier
En espérant t'avoir aider un peu
Kaname63
Windows Seven & XP // Office 2003 & 2007 // VB.net // Builder C++
En effet, Calcul manuel/automatique est une option du Classeur, pas une option de la Feuille de calcul.
Tout d'abord merci Kaname pour le codage c'est beaucoup plus rapide maintenant!!
Par contre impossible de copier/coller d'une feuille à une autre... sauriez vous quel code je dois ajouter pour y parvenir svp?
Merci beaucoup