j'ai un petit soucis; J'ai un dossier comprenant près d'une centaine de
fichier excel. avec des calculs notamment des fonctions personnalisé.
je doit envoyer ces fichier à une personne qui n'a as mes fonction. je
voudrai donc supprimer tous les calcul et mettre les valeur.
le soucis c'est que je doit ouvriri les fichier 1 par 1, selectionner toutes
les feuilles puis toutes les cellules, tous copier et coller en valeur avant
d'enregistrer.
Il doit y avoir un moyen d'automatiser ca mais je sais pas rop coment faire;
si quelqu'un à une idéee, ca m'arrangerai. merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. La macro suivante fait ce que tu demandes. Note qu'elle enregistre sur les classeurs d'origine. Si tu veux conserver ceux-ci, il faut faire une copie dans un autre dossier. Les feuilles protégées ne sont pas modifiées. Si tu as des feuilles protégées sans mot de passe, on peut modifier la macro pour les prendre en compte.
Sub test() Dim Fich As String, Ws As Worksheet Const Chemin As String = "e:donneesdanielmpfetest" Application.ScreenUpdating = False Application.Calculation = xlCalculationAutomatic Fich = Dir(Chemin & "*.xls") Do While Fich <> "" Workbooks.Open Chemin & Fich For Each Ws In ActiveWorkbook.Worksheets If Ws.ProtectContents = False Then Ws.UsedRange.Copy Ws.UsedRange.PasteSpecial xlPasteValues End If Next Ws ActiveWorkbook.Close True Fich = Dir Loop End Sub Cordialement. Daniel
bonjour,
j'ai un petit soucis; J'ai un dossier comprenant près d'une centaine de fichier excel. avec des calculs notamment des fonctions personnalisé. je doit envoyer ces fichier à une personne qui n'a as mes fonction. je voudrai donc supprimer tous les calcul et mettre les valeur.
le soucis c'est que je doit ouvriri les fichier 1 par 1, selectionner toutes les feuilles puis toutes les cellules, tous copier et coller en valeur avant d'enregistrer.
Il doit y avoir un moyen d'automatiser ca mais je sais pas rop coment faire; si quelqu'un à une idéee, ca m'arrangerai. merci d'avance
Bonjour.
La macro suivante fait ce que tu demandes. Note qu'elle enregistre sur
les classeurs d'origine. Si tu veux conserver ceux-ci, il faut faire
une copie dans un autre dossier. Les feuilles protégées ne sont pas
modifiées. Si tu as des feuilles protégées sans mot de passe, on peut
modifier la macro pour les prendre en compte.
Sub test()
Dim Fich As String, Ws As Worksheet
Const Chemin As String = "e:donneesdanielmpfetest"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationAutomatic
Fich = Dir(Chemin & "*.xls")
Do While Fich <> ""
Workbooks.Open Chemin & Fich
For Each Ws In ActiveWorkbook.Worksheets
If Ws.ProtectContents = False Then
Ws.UsedRange.Copy
Ws.UsedRange.PasteSpecial xlPasteValues
End If
Next Ws
ActiveWorkbook.Close True
Fich = Dir
Loop
End Sub
Cordialement.
Daniel
bonjour,
j'ai un petit soucis; J'ai un dossier comprenant près d'une centaine de
fichier excel. avec des calculs notamment des fonctions personnalisé.
je doit envoyer ces fichier à une personne qui n'a as mes fonction. je
voudrai donc supprimer tous les calcul et mettre les valeur.
le soucis c'est que je doit ouvriri les fichier 1 par 1, selectionner toutes
les feuilles puis toutes les cellules, tous copier et coller en valeur avant
d'enregistrer.
Il doit y avoir un moyen d'automatiser ca mais je sais pas rop coment faire;
si quelqu'un à une idéee, ca m'arrangerai. merci d'avance
Bonjour. La macro suivante fait ce que tu demandes. Note qu'elle enregistre sur les classeurs d'origine. Si tu veux conserver ceux-ci, il faut faire une copie dans un autre dossier. Les feuilles protégées ne sont pas modifiées. Si tu as des feuilles protégées sans mot de passe, on peut modifier la macro pour les prendre en compte.
Sub test() Dim Fich As String, Ws As Worksheet Const Chemin As String = "e:donneesdanielmpfetest" Application.ScreenUpdating = False Application.Calculation = xlCalculationAutomatic Fich = Dir(Chemin & "*.xls") Do While Fich <> "" Workbooks.Open Chemin & Fich For Each Ws In ActiveWorkbook.Worksheets If Ws.ProtectContents = False Then Ws.UsedRange.Copy Ws.UsedRange.PasteSpecial xlPasteValues End If Next Ws ActiveWorkbook.Close True Fich = Dir Loop End Sub Cordialement. Daniel
bonjour,
j'ai un petit soucis; J'ai un dossier comprenant près d'une centaine de fichier excel. avec des calculs notamment des fonctions personnalisé. je doit envoyer ces fichier à une personne qui n'a as mes fonction. je voudrai donc supprimer tous les calcul et mettre les valeur.
le soucis c'est que je doit ouvriri les fichier 1 par 1, selectionner toutes les feuilles puis toutes les cellules, tous copier et coller en valeur avant d'enregistrer.
Il doit y avoir un moyen d'automatiser ca mais je sais pas rop coment faire; si quelqu'un à une idéee, ca m'arrangerai. merci d'avance