Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonjour le Forum
J'ai un fichier plein de formules, et je cherche une macro qui va stopper le fonctionnement de toutes ces formules à une date précise, exemple le 01/07/2009.
Merci de votre aide
Bonjour,
Je ne sais pas ce que veut dire stopper le fonctionnement des formules
Soit tu passes en mode calcul manuel (sur ordre), soit tu remplaces les formules par la valeur actuelle (les formules sont perdues)
En outre, est ce valable pour l'ensemble du classeur ou juste certaines feuilles ?
Code:
Sub Macro1()
Dim Sh As Worksheet, Cel As Range
For Each Sh In ActiveWorkbook.Sheets
If CStr(Date) = "01/07/2009" Then
'remplace les formules par leur valeur
For Each Cel In Sh.UsedRange
If Cel.HasFormula = True Then Cel.Value = Cel.Value
Next
'sinon passe en mode calcul manuel
' With Application
' .Calculation = xlManual
' .CalculateBeforeSave = False
' End With
End If
Next
End Sub
Merci à tous
Stopper le fonctionnement des formules c'est excatement passer en mode calcul manueln et c'est ce que je veux, et pour tout le classeur.
Merci
Re, bonjour PHLaurent,
Alors il suffit de supprimer la première partie du code
Code:
Private Sub Workbook_Open()
Dim Sh As Worksheet, Cel As Range
If CStr(Date) = "01/07/2009" Then
For Each Sh In ActiveWorkbook.Sheets
With Application
.Calculation = xlManual
.CalculateBeforeSave = False
End With
Next
End If
End Sub
Edit : a mettre dans le module de ThisWorkBook
A+
kjin
Private Sub Workbook_Open()
Dim oFeuil
If Now() > DateSerial(2009, 7, 1) Then
For Each oFeuil In ThisWorkbook.Sheets
oFeuil.Cells.Copy
oFeuil.[A1].PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next oFeuil
End If
End Sub
et toutes les formules sont effacées... A TESTER PRUDEMMENT !
Je viens de faire un essaie avec le code de ROGER2327, en applicant la date de demain, j'ai fermé le classeur, j'ai changer la date de l'oedinateur, et quand j'ai réouvert le classeur en question, rien n'a été changé
Où est le problème?
Re, bonjour Roger,
Mr Roger, il n'y a point besoin de copier/coller la cellule sur elle-même mais juste de remplacer la formule par son résultat, objet de mon message #4
Enfin, il me semble...
Mr Lipadec, où as tu mis le code ? voir mon dernier message.
En outre, tu veux maintenant effacer les formules, je n'y comprends plus rien (voir ton messge #5)
Mr Roger, il n'y a point besoin de copier/coller la cellule sur elle-même mais juste de remplacer la formule par son résultat, objet de mon message #4
Enfin, il me semble...
Je viens de faire un essaie avec le code de ROGER2327, en applicant la date de demain, j'ai fermé le classeur, j'ai changer la date de l'oedinateur, et quand j'ai réouvert le classeur en question, rien n'a été changé
Où est le problème?
- 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