MOA_Excel
XLDnaute Nouveau
Bonjour,
J'exporte un onglet dans un nouveau fichier créé à cet effet en faisant une macro de type "copié/collé"
Tout fonctionne, à un détail près : même en ayant mis xlCSV, ça s'enregistre en xlsx alors même que le contenu du fichier est en csv !! (avec les virgules séparatrices)
Résultat : quand je tente d'ouvrir le fichier, un message d'erreur s'affiche forcément car c'est incompatible. Il faut d'abord que je remplace xlsx par csv pour ouvrir le fichier nouvellement créé
Question : comment éviter cette manipulation fastidieuse pour les Collaborateurs ?
Je vous remercie par avance de l'intérêt que vous porterez à ce post
Ci-dessous le code réalisé qui serait à amélioré :
Excellente journée à tous
Bien cordialement
JA
J'exporte un onglet dans un nouveau fichier créé à cet effet en faisant une macro de type "copié/collé"
Tout fonctionne, à un détail près : même en ayant mis xlCSV, ça s'enregistre en xlsx alors même que le contenu du fichier est en csv !! (avec les virgules séparatrices)
Résultat : quand je tente d'ouvrir le fichier, un message d'erreur s'affiche forcément car c'est incompatible. Il faut d'abord que je remplace xlsx par csv pour ouvrir le fichier nouvellement créé
Question : comment éviter cette manipulation fastidieuse pour les Collaborateurs ?
Je vous remercie par avance de l'intérêt que vous porterez à ce post
Ci-dessous le code réalisé qui serait à amélioré :
VB:
Sub GENERER_NOUVEAU_FICHIER_IMPORT_CONFIDENTIEL()
Dim ChDir As String, nmFich As String
ChDir = "\\CONFIDENTIEL-FILES\datas\CONFIDENTIEL\20-Exploitation\ETL_Exploitation\4 - CONFIDENTIEL\"
nmFich = Sheets("Référentiel").Range("X29").Value & ".xlsx"
With ThisWorkbook
AfficheDebloque .Sheets("CLIENT1"), "ETL"
.Sheets("CLIENT1").Copy
With ActiveWorkbook
.Sheets(1).Range("A1:DC10000").Value = .Sheets(1).Range("A1:DC10000").Value
'application.displayalerts = false 'si besoin
.SaveAs Filename:=ChDir & nmFich, FileFormat:=xlCSV, CreateBackup:=False
'application.displayalerts = true
.Close
End With
CacheBloque .Sheets("CLIENT1"), "ETL"
End With
End Sub
Sub AfficheDebloque(Feuille As Worksheet, Optional Password As String)
With Feuille
.Unprotect Password
.Visible = True
End With
End Sub
Sub CacheBloque(Feuille As Worksheet, Optional Password As String)
With Feuille
.Visible = False
.Protect Password
End With
End Sub
Excellente journée à tous
Bien cordialement
JA