Microsoft 365 Code qui ne fonctionne pas sur Excel 365

gsx-air

XLDnaute Nouveau
Bonjour à tous
tout est à peu près dans le titre
j'ai fait une macro sur mon pc perso Excel 2016 qui fonctionne bien
mais lorsque j'essaye de m'en servir sur mon pc du boulot Excel 365 elle ne fonctionne pas
elle beug sur la ligne

VB:
        NOM.SaveAs Filename:= _
        "F:\Desktop\JOB\04-EXPORT CLIPPER\EXPORT_SW_TO_CLIPPER.csv", FileFormat:= _
        xlCSVMSDOS, CreateBackup:=False

je me pose la question si cela vient de la version d'Excel ou peu être ai-je oublier de mettre une référence mais je n'arrive pas à trouver
Même si j'enregistre un bout de macro avec l'enregistreur, je n'y arrive pas
soyez indulgent sur le code, je ne suis pas expert:rolleyes::rolleyes:

auriez-vous des pistes
Merci;)

Code:
Sub mise_en_page_complete()

Dim PROP As Workbook, CellRecherche As Range, i As Integer, NOM As Workbook, CODE_AFFAIRE As String
Set NOM = ActiveWorkbook
Set PROP = Workbooks.Open("F:\Desktop\JOB\LISTE PROPRIETES.xlsx")

    code_commande = InputBox("AVEZ VOUS UN CODE COMMANDE :", "CODE COMMANDE")
    If code_commande = "" Then code_commande = "EN ATT CDE " & Date
    
    
Application.ScreenUpdating = False

With NOM.Worksheets("Feuil1")
    i = 2
        Do While NOM.Worksheets("Feuil1").Cells(i, 16) <> ""
    
        NOM.Worksheets("Feuil1").Cells(i, 1).FormulaR1C1 = _
        NOM.Worksheets("Feuil1").Cells(i, 16) & "-" & NOM.Worksheets("Feuil1").Cells(i, 17)
        NOM.Worksheets("Feuil1").Cells(i, 6) = code_commande
        NOM.Worksheets("Feuil1").Cells(i, 7) = Date + 28 - Weekday(Date, 2) + 5
        NOM.Worksheets("Feuil1").Cells(i, 8) = "BE"
        
        If (NOM.Worksheets("Feuil1").Cells(i, 10) = "FAB") Then NOM.Worksheets("Feuil1").Cells(i, 12) = 2 Else If (NOM.Worksheets("Feuil1").Cells(i, 10) = "QUINCAI") Then NOM.Worksheets("Feuil1").Cells(i, 12) = 1 Else: MsgBox "MANQUE CODE FAMILLE"
        
        With .Range("o" & i)
                Set CellRecherche = PROP.Worksheets("Feuil1").Columns(1).Find(.Value, LookAt:=xlWhole)
             If Not CellRecherche Is Nothing Then .Offset(0, -10).Value = CellRecherche.Offset(0, 1).Value
            End With
    i = i + 1
    Loop
    
End With
PROP.Close SaveChanges:=False
Application.ScreenUpdating = True
NOM.Activate
NOM.Save
    Rows("1:1").Delete Shift:=xlUp
    Columns("O:Q").Delete Shift:=xlToLeft
      Application.DisplayAlerts = False
        NOM.SaveAs Filename:= _
        "F:\Desktop\JOB\04-EXPORT CLIPPER\EXPORT_SW_TO_CLIPPER.csv", FileFormat:= _
        xlCSVMSDOS, CreateBackup:=False
    
    ActiveWorkbook.Save
    ActiveWindow.Close

 
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, gsx-air, TooFatBoy

@gsx-air
je suis sur Office 365
Ces deux codes fonctionnent
(mais testé en local, sur le Bureau)
Code:
Sub Macro2()
ChDir "C:\Users\STAPLE\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Users\STAPLE\Desktop\test1.csv", FileFormat:=xlCSV, CreateBackup:=False
End Sub
Sub Macro3()
ActiveWorkbook.SaveAs Filename:="C:\Users\STAPLE\Desktop\test2.csv", FileFormat:=xlCSVMSDOS, CreateBackup:=False
End Sub

Sur ton PC, la lettre F c'est pour :
• une clé USB ?
• un lecteur mappé ?

Comme le disait TooFatBoy, il semble bien que ton problème soit le path.
(puisque pas de souci sur mon Office 365 avec FileFormat, dans les deux cas)
 

gsx-air

XLDnaute Nouveau
Bonjour à tous
rien à faire cela ne fonctionne pas
je viens de tester ce code et ça ne fonctionne pas
VB:
Sub Macro2()
'
' Macro2 Macro
'
Dim NOM As Workbook
Set NOM = ActiveWorkbook
'
        NOM.SaveAs Filename:= _
        "H:\SERVICE BEM\04-EXPORT CLIPPER\EXPORT_SW_TO_CLIPPER.csv", FileFormat:= _
        xlCSVMSDOS, CreateBackup:=False
End Sub

Le chemin du répertoire passe par un lecteur réseau, est-ce problématique ?
 

gsx-air

XLDnaute Nouveau
Même lorsque que j'utilise l'enregistreur de macro et que je relance la même macro sans modification ça ne marche pas (avec répertoire local sur ma machine sans passer par le réseau)

Problème de sécurité ???

Code:
Sub Macro4()
'
' Macro4 Macro
'

'
    Windows("SOF23-0108.xlsx").Activate
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\be01\Desktop\EXPORT_SW_TO_CLIPPER.csv", FileFormat:=xlCSVMSDOS, _
        CreateBackup:=False
    Windows("Classeur1.xlsm").Activate
End Sub
 

gsx-air

XLDnaute Nouveau
screenshot_14.png
 

gsx-air

XLDnaute Nouveau
J'ai un début de réponse
visiblement le problème vient du fichier de base que j'enregistre, c'est un fichier XLSX
que je génère via solidworks, je fais clic droit sur ma nomenclature solidworks enregistrer sous et ensuite à partir de ce fichier, je lance ma macro et ça ne marche pas, en revanche si je lance la macro à partir d'un fichier classique Excel ça fonctionne
c'est un bon début, mais cela ne m'explique pas pourquoi ça fonctionne avec Excel 2016 et pas 365 (j'utilise les mêmes fichiers)
 

Pièces jointes

  • SOF23-0108.xlsx
    19.9 KB · Affichages: 2

Staple1600

XLDnaute Barbatruc
Re

@gsx-air
Test OK sur ton fichier (avec Office 365)
NB: J'ai annulé le partage au préalable.
1) La macro issue de l'enregistreur de macros
Enrichi (BBcode):
Sub Macro1()
ChDir "C:\Users\STAPLE\Documents\Tests_CSV"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\STAPLE\Documents\Tests_CSV\SOF23-0108.csv", FileFormat:=xlCSVMSDOS, CreateBackup:=False
End Sub
Le résultat obtenu
res110223.png
 

Statistiques des forums

Discussions
315 133
Messages
2 116 600
Membres
112 800
dernier inscrit
charly1785