Mister Binaire
XLDnaute Occasionnel
Bonsoir le Forum,
Voila j'ai ma première macro de sauvegarde (voir -ci dessous ) qui fonctionne très bien.
Cependant, lors de la sauvegarde du fichier, je voudrais que la première feuille de ce fichier (Sommaire) soit sauvegarder dans un autre fichier nommer " Data Manager" et que le nom de l'onglet du Fichier de "Data Manager" prenne le nom de la sauvegarde du fichier. On m'a donné deux autres macro pour le faire (Voir en dessous de la macro de sauvegarde) mais je ne sais pas mixer le tout.
Merci de votre aide..
Sub Sauvegarde()
Dim Chemin As String, Fichier As String
If ActiveWorkbook.Saved = True Then Exit Sub
'Prise en compte des éléments variables
Chemin = "Z:\PROCESS\LABO\06-Etudes en Cours\"
Fichier = Range("B2").Value & " " & Range("B3")
'Alertes utilisateur
'Type1 : Dossier non disponible
If Right(Chemin, 1) <> "\" Then MsgBox "Chemin non conforme , manque le \ à la fin ": Exit Sub
If Dir(Chemin & "\", vbDirectory) = "" Then MsgBox " Attention, Dossier de stockage non disponible": Exit Sub
'Type2 : Nom du fichier non renseigné
If Range("B2").Value = "" Or Range("B3").Value = "" Or Fichier = "" Then MsgBox " Attention, Merci de renseigner le Numéro de la Demande et le Nom du Produit pour Sauvegarder": Exit Sub
If Dir(Chemin & Fichier) <> "" Then
If MsgBox("Fichier déjà existant , voulez vous continuer", vbYesNo) = vbNo Then Exit Sub
End If
Application.DisplayAlerts = False ' Désactive les alertes en validant l'action par défaut
On Error Resume Next ' s'il y a une erreur sur la prochaine ligne , l'on exécute la ligne suivante
ActiveWorkbook.SaveAs Chemin & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
If Err Then ' si 'il y a eu une erreur
'échec de lecture ou d'écriture à partir d'un fichier.
If Err.Number = 1004 Then MsgBox "échec de lecture ou d'écriture à partir d'un fichier."
' Liste et message appropriés en fonction des erreur rencontrées
'Exemple
If Err.Number = 75 Then MsgBox "Erreur d'accès chemin/fichier (erreur 75)"
End If
On Error GoTo 0 'Rend la main au gestionnaire d'erreur
Application.DisplayAlerts = True ' Réactivation des alertes
End Sub
Sub a() ')
Dim NOMSVG$
NOMSVG = ThisWorkbook.Name
Sheets("Sommaire").Copy
ActiveWorkbook.Sheets(1).Name = Split(NOMSVG, ".")(0)
End Sub
Sub b()
Sheets("Sommaire").Copy After:=Workbooks("Data Manager.xlsm").Sheets(Sheets.Count)
End Sub
Voila j'ai ma première macro de sauvegarde (voir -ci dessous ) qui fonctionne très bien.
Cependant, lors de la sauvegarde du fichier, je voudrais que la première feuille de ce fichier (Sommaire) soit sauvegarder dans un autre fichier nommer " Data Manager" et que le nom de l'onglet du Fichier de "Data Manager" prenne le nom de la sauvegarde du fichier. On m'a donné deux autres macro pour le faire (Voir en dessous de la macro de sauvegarde) mais je ne sais pas mixer le tout.
Merci de votre aide..
Sub Sauvegarde()
Dim Chemin As String, Fichier As String
If ActiveWorkbook.Saved = True Then Exit Sub
'Prise en compte des éléments variables
Chemin = "Z:\PROCESS\LABO\06-Etudes en Cours\"
Fichier = Range("B2").Value & " " & Range("B3")
'Alertes utilisateur
'Type1 : Dossier non disponible
If Right(Chemin, 1) <> "\" Then MsgBox "Chemin non conforme , manque le \ à la fin ": Exit Sub
If Dir(Chemin & "\", vbDirectory) = "" Then MsgBox " Attention, Dossier de stockage non disponible": Exit Sub
'Type2 : Nom du fichier non renseigné
If Range("B2").Value = "" Or Range("B3").Value = "" Or Fichier = "" Then MsgBox " Attention, Merci de renseigner le Numéro de la Demande et le Nom du Produit pour Sauvegarder": Exit Sub
If Dir(Chemin & Fichier) <> "" Then
If MsgBox("Fichier déjà existant , voulez vous continuer", vbYesNo) = vbNo Then Exit Sub
End If
Application.DisplayAlerts = False ' Désactive les alertes en validant l'action par défaut
On Error Resume Next ' s'il y a une erreur sur la prochaine ligne , l'on exécute la ligne suivante
ActiveWorkbook.SaveAs Chemin & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
If Err Then ' si 'il y a eu une erreur
'échec de lecture ou d'écriture à partir d'un fichier.
If Err.Number = 1004 Then MsgBox "échec de lecture ou d'écriture à partir d'un fichier."
' Liste et message appropriés en fonction des erreur rencontrées
'Exemple
If Err.Number = 75 Then MsgBox "Erreur d'accès chemin/fichier (erreur 75)"
End If
On Error GoTo 0 'Rend la main au gestionnaire d'erreur
Application.DisplayAlerts = True ' Réactivation des alertes
End Sub
Sub a() ')
Dim NOMSVG$
NOMSVG = ThisWorkbook.Name
Sheets("Sommaire").Copy
ActiveWorkbook.Sheets(1).Name = Split(NOMSVG, ".")(0)
End Sub
Sub b()
Sheets("Sommaire").Copy After:=Workbooks("Data Manager.xlsm").Sheets(Sheets.Count)
End Sub