bonjour à tous,

J'essaye de créer un fichier xlsm (excel2016 mac) qui peut être copié dans des répertoires différents et depuis ce même fichier, enregistre au format csv, mais voilà, ça ne fonctionne pas, et ça fait maintenant quelques semaines que je bloque sur ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Sub Macro1()
 
 'variable identification onglet
Dim ws_Donn As Worksheet 'Donnees'
Dim chemincsv As String
Dim cheminxlsm As String
Dim cheminWithoutFileName As String
 
'identifier l'onglet saisi
Set ws_Donn = Worksheets("donnees")
cheminWithoutFileName = Application.ActiveWorkbook.path
 
 'ws_Donn.Unprotect "1234" '  'ou 1234 est le mot de passe
 'ws_Donn.Visible = True
 'ws_Donn.Select
 
'Copier l'adresse du fichier
 
   ThisWorkbook.Sheets("donnees").Range("A4") = cheminWithoutFileName
   chemincsv = Sheets("donnees").Range("A4").Value & "/" & "donnees.csv"
 
'sauver fichier csv
 Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs FileName:=chemincsv, _
    FileFormat:=xlCSV, Local:=True
 Application.DisplayAlerts = True
 
 'sauver fichier XLSM
cheminxlsm = Sheets("donnees").Range("A1").Value & Application.PathSeparator & "donnee.xlsm"
 
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=cheminxlsm, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=True
Application.DisplayAlerts = True
 
 'Activer la protection
ws_Donn.Protect "1234"
 
End Sub
Et je ne trouve pas de solution. Car il bloque toujours au même endroit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ActiveWorkbook.SaveAs FileName:=chemincsv, _
    FileFormat:=xlCSV, Local:=True
mais si je désactive cette partie du code, le xlsm s'enregistre parfaitement dans le dossier source.
j'ai également tenté le code : sans succès
C'est pour cette raison que j'utilise la formule suivante qui me permet d'identifier sur le fichier le chemin complet du fichier et de l'utiliser dans le FileName:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ThisWorkbook.Sheets("donnees").Range("A4") = cheminWithoutFileName
   chemincsv = Sheets("donnees").Range("A4").Value & "/" & "donnees.csv"
Avez-vous rencontré les mêmes problèmes?
Merci d'avance pour vos réponses.