Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Decochage calcul automatique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chubby

XLDnaute Impliqué
Bonjour à vous tous,

Mon petit problème est né avec l'ouverture de macro. Les calculs ne se font plus alors automatiquement dès lors où j'ouvre n'importe quel fichier Excel. Il me faut aller dans les paramètres de calculs automatiques et décocher "calculs manuels".
Est ce lié à une macro particulière ou est ce un phénomène général rencontré avec Excel 2007?
Je vous remercie d'avance de vos remarques.
Chube
 
Re : Decochage calcul automatique

bonsoir

je pense que c'est un classeur que tu ouvres et qui contient une macro dans le ThisWorkbook et qui effectue ceci :
Application.Calculation = xlCalculationManual

normalement à la fermeture il devrait effectuer ceci :
Application.Calculation = xlCalculationAutomatic

après quelques recherches tu devrais pouvoir trouver lequel !?
 
Re : Decochage calcul automatique

Bonsoir Roland,

Je te remercie de ton éclairage. J'enfile le bleu et je descend à la cave des macro que j'ai téléchargé récemment...arffff non mais....enfin c'est pas gagné mais on va se battre.
Merci encore et bonne soirée à toi et à tous ....
 
Re : Decochage calcul automatique

Roland,

Je viens de trouver l'intrus....effectivement en fin de déclaration il était noté:
Application.Calculation = Mode
Ce que j'ai remplacé par ce que tu me conseillais, à savoir Application.Calculation = xlCalculationAutomatic
Alors ma question est maintenant pourquoi avoir laissé une telle instruction?
Merci
 
Re : Decochage calcul automatique

re

= Mode ! ça ne me dis rien !?
ce doit être une variable ou une constante qui est initialisée
exp: Mode = xlCalculationManual

maintenant pourquoi une telle instruction !?
en principe on met cela pour accelerer le code lorsqu'une macro intervient sur les feuilles !
c'est une pratique courante pour gagner du temps !

au début
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

à la fin on remet
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
 
Re : Decochage calcul automatique

Merci Roland pour tes lumières...
pour info voici le code en question (de Joss):
Sub copier()

Dim A As Integer, Ligne As Long
Dim Sh As Worksheet
Dim Rg As Range
Dim Mode As String
Dim NomFeuille As String

Application.ScreenUpdating = False
Mode = Application.CalculationState
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error Resume Next
With ThisWorkbook
NomFeuille = .ActiveSheet.Name
Application.DisplayAlerts = False
.Worksheets("Total").Delete
Application.DisplayAlerts = True
Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))

For A = 1 To Sheets.Count - 1
If A = 1 Then
derlign = .Worksheets(A).Range("A65536").End(xlUp).Row
.Worksheets(A).Range("A1:M" & derlign).Copy _
Sh.Range("A1")
Else
derlign = .Worksheets(A).Range("A65536").End(xlUp).Row
Ligne = Sh.Range("A65536").End(xlUp)(2).Row
.Worksheets(A).Range("A2:M" & derlign).Copy _
Sh.Range("A" & Ligne)
End If
Next
End With
Sh.Name = "Total"
Application.Calculation = Mode
Sheets(NomFeuille).Select
Application.EnableEvents = True
End Sub


D'ailleurs pourrais tu me dire où (comment) devrais je faire pour mettre un userform sur la feuille "Total" (feuille récapitulative).
Et question subsidiaire comment pourrais je limiter la copie à 2 feuilles nommées a et b?
Je sais je me suis éloigné du sujet mais la tentation était trop grande de voir l'expert que tu sembles être me donner ce ti coup de pouce.

Merci encore
 
Re : Decochage calcul automatique

re:

l'erreur vient de ces deux lignes:
> Dim Mode as String > car Calculation n'est pas string !!!
> Mode = Application.CalculationState

reprend ce code modifié:

Code:
Sub copier()
Dim A As Integer, Ligne As Long
Dim Sh As Worksheet, Rg As Range
Dim NomFeuille As String

Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
On Error Resume Next

ThisWorkbook.Activate
NomFeuille = ActiveSheet.Name
Worksheets("Total").Delete
Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))
For A = 1 To Sheets.Count - 1
 DerLign = Worksheets(A).Range("A65536").End(xlUp).Row
 If A = 1 Then
    Worksheets(A).Range("A1:M" & DerLign).Copy Sh.Range("A1")
 Else
    Ligne = Sh.Range("A65536").End(xlUp)(2).Row
    Worksheets(A).Range("A2:M" & DerLign).Copy Sh.Range("A" & Ligne)
 End If
Next
Sh.Name = "Total"
Sheets(NomFeuille).Select

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

si tu ne veux que deux feuilles il faut revoir ton classeur que je ne connais pas !
ni ce que tu en fais !?
ICI > For A = 1 To Sheets.Count - 1 !?!?
la boucle tourne autant que Sheets.Count Exemple s'il y a 12 feuilles moins 1 soit 11 !?

si tu n'en veux que deux il faut modifier comme ceci (avec les précautions qui s'imposent !

en premier avant la boucle:
TotFeuil = Sheets.Count - 1: If TotFeuil > 2 then TotFeuil = 2
en deuxième tu remplaces > For A = 1 To Sheets.Count - 1 !?!?
par: For A = 1 To TotFeuil

quand à l'userform ce n'est pas un problème !
le problème est: quel contrôle dans l'userform et pourquoi faire !?
 
Re : Decochage calcul automatique

Bonjour Roland, bonjour les zotres,

Tout d'abord merci pour tes précisions. Je n'ai plus trop le temps de me pencher dessus pour les qq jours à venir.... il parait qu'il y a un évènement! Et je crois que ce que tu me donnes comme détails valent un sérieux arrêt sur image. En revanche, si tu n'y vois pas d'inconvénient je frapperais à nouveau à ta porte en cas de problème ....
En attendant bonnes festivités et à bientôt certainement.
Merci encore Roland pour ton partage,
Chube
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
2
Affichages
2 K
bastienb
B
S
Réponses
1
Affichages
1 K
SCorbeil
S
M
Réponses
4
Affichages
1 K
maxou
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…