Bonjour à tous
j'ai un classeur composé de plusieurs feuilles; 4 par Années comme suis (Janv2021, Mai2021, Sept2021 et Bilan2021, ....)
Depuis ma feuille Bilan2021 j'ai une macro qui convertie les résultats des formules en données afin d’être réutilisé a partir de Janv de l'année suivant ceci dans le but de pouvoir supprimer les feuilles de l'année passée
je cherche un moyen fiable d'automatiser au passage lors de l'utilisation de la macro de sauvegarder les feuilles Janv2021, Mai2021 et Sept2021 dans un nouveau classeur qui serai sauvegardé dans le même répertoire que le classeur initial (Sur serveur d'entreprise) et de supprimer les 3 feuilles précédemment de mon classeur actif.
en cherchant sur le forum j'ai trouvé quelques macro VBA que j'ai testé, mais soit elle me provoque une erreur 400, soit me crée et ouvre le nouveau classeur mais sans me le sauvegarder sans mon intervention dans mon dossier... pour l'instant pas de solution qui me conviennent.
voici la derniere macro en test (macro de copie te sauvegarde de Job75) mais j'ai une erreur 400
j'ai un classeur composé de plusieurs feuilles; 4 par Années comme suis (Janv2021, Mai2021, Sept2021 et Bilan2021, ....)
Depuis ma feuille Bilan2021 j'ai une macro qui convertie les résultats des formules en données afin d’être réutilisé a partir de Janv de l'année suivant ceci dans le but de pouvoir supprimer les feuilles de l'année passée
je cherche un moyen fiable d'automatiser au passage lors de l'utilisation de la macro de sauvegarder les feuilles Janv2021, Mai2021 et Sept2021 dans un nouveau classeur qui serai sauvegardé dans le même répertoire que le classeur initial (Sur serveur d'entreprise) et de supprimer les 3 feuilles précédemment de mon classeur actif.
en cherchant sur le forum j'ai trouvé quelques macro VBA que j'ai testé, mais soit elle me provoque une erreur 400, soit me crée et ouvre le nouveau classeur mais sans me le sauvegarder sans mon intervention dans mon dossier... pour l'instant pas de solution qui me conviennent.
voici la derniere macro en test (macro de copie te sauvegarde de Job75) mais j'ai une erreur 400
VB:
Sub ConvertFormulasToValuesInActiveWorksheet2021()
' protection de la macro par code
Dim strPw As String
strPw = "TOTO"
If InputBox("Saisissez le mot de passe", "Accès à la macro") <> strPw Then
MsgBox ("Mot de passe erroné")
Exit Sub
Else
MsgBox ("Mot de passe correct, les fonctions de sauvegarde et de conversion vont s'exécuter, cela peux prendre quelques minutes soyez patient !")
End If
'creation d'un nouveau fichier excel
Dim s As Object, lien, i&
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets(Array("Janv2021", "Mai2021", "Sept2021")).Copy
With ActiveWorkbook
For Each s In .Sheets: s.DrawingObjects.Delete: Next
lien = .LinkSources
If Not IsEmpty(lien) Then
For i = 1 To UBound(lien)
.BreakLink lien(i), xlExcelLinks
Next
End If
.SaveAs ThisWorkbook.Path & "\Saveconsigneapoints2021", 51
.Close
End With
ActiveCell.Activate
'---message---
Application.ScreenUpdating = True
MsgBox "le fichier de sauvegarde a été créer, la convertion des données vas debuter "
' Transforme les formules en valeur brutes
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.HasFormula Then
rng.Formula = rng.Value
End If
Next rng
Application.ScreenUpdating = True
MsgBox "sauvegarde et convertion terminé merci d'avoir patienté "
End Sub