Re : Retablissement des formules
re bonjour JP
je te remercie pour l'intérêt que tu portes à ma question.
Voici le contexte de l'application : un module contenat les classeurs A et B est fournit à une tierce partie. Cette tièrce partie utilise le modele A pour saisir les données qu'elle veut transmettre. B est également un modèle qui crée un Classeur C d'envoi qui m'est transmis par mail. le point commun entre ces 3 classeurs est la feuille F. Sinon chaque classeur a des fonctionnalités différentes.
A=avbf_modele.xls
B=Envoi_modele.xls
C= le nom créé automatiquement du classeur qui va être transmis (variable FL)
F=la feuille "Bordereau de dépôt" qui est concernée par les formules de B uniquement.Ce sont ces formules qui ne sont pas rétablies après la copie dans B.
Voici le code de la copie :
......
response = MsgBox("Vous allez enregistrer votre saisie. Le classeur va être renommé et déplacé dans le dossier SAUGARDE DES ENVOIS.Veuillez confirmer", vbYesNo)
If response = vbNo Then Exit Sub
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim FL As String
FL = Range("societe") & Range("client") & Format$((Date), "dd_mm_yy") & "_Faux_vers_***.xls"
Sheets("bordereau de dépôt").Range("z1") = FL
Fm = "envoi_modele.xls"
Fichier_Maitre = "envois\" & Fm
Dim varChemin As String
Dim varDestination As String
Dim varNomFichier As String
Dim varMessage As String
varNomFichier = ActiveWorkbook.Name
varChemin = ActiveWorkbook.FullName
varChemin = Left(varChemin, InStrRev(varChemin, "\"))
varChemin = Left(Left(varChemin, Len(varChemin) - 1), InStrRev(Left(varChemin, Len(varChemin) - 1), "\"))
varDestination = varChemin & Fichier_Maitre
'-----------------------------------------------------------------
'1-ouvrir le modele B
Workbooks.Open Filename:= _
varDestination
'2-supprimer la feuille dépot dans B
Sheets("Bordereau de dépôt").Select
ActiveWindow.SelectedSheets.Delete
'3-déplacer la feuille dépot de l'envoi ' A->B sans doute est-là que se pose le problème ? [/B]
Windows("avbf_modele.xls").Activate
Sheets("Bordereau de dépôt").Unprotect
Sheets("Bordereau de dépôt").Copy Before:=Workbooks("Envoi_modele.xls"). _
Sheets(1)
ActiveSheet.Shapes("b_bas").Delete
ActiveSheet.Shapes("b_haut").Delete
ActiveSheet.Shapes("bder").Delete
Range("B9") = "Bordereau à envoyer à la ****"
Range("C2") = ""
With Worksheets("bordereau de dépôt").Buttons
.Visible = False
End With
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(1).Visible = True
Sheets(1).Select
'-----------------------------------------------------------------
Fichier_Maitre = "ENVOIS\sauvegarde_envois\" & FL
varDestination = varChemin & Fichier_Maitre
' création de C
ActiveWorkbook.SaveAs Filename:= _
varDestination _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Quit
Exit Sub