IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Désactiver mode de compatibilité excel 365


Sujet :

Excel

  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 488
    Par défaut Désactiver mode de compatibilité excel 365
    Bonjour

    J'ai un programme qui convertit à la volée les pièces jointes des mails reçus.
    Plus précisément il crée un script powershell qui convertit ensuite les fichiers.
    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
    "Conversion Excel vers pdf ..."
     $folderpath =  $(get-location)  
     $FicPDF = "C:\test\mails\20241021\2139769.PDF" 
     $FicXLS = "C:\test\mails\20241021\2139769.XLS" 
     #Convert Excel formats to pdf 
     $xlTypePDF = 0 # Microsoft.Office.Interop.Excel.XlFixedFormatType 
     $xlQualityStandard = 0 # Microsoft.Office.Interop.Excel.XlFixedFormatQuality 
     $objExcel = New-Object -ComObject excel.application 
     $ci = [System.Globalization.CultureInfo]'en-US' 
     $objExcel.visible = $false 
     $workbook = $objExcel.workbooks.open($FicXLS,*3)* 
     $workbook.ExportAsFixedFormat($xlTypePDF, $FicPDF, $xlQualityStandard) 
     $workbook.Save() 
     $objExcel.Workbooks.close()* 
     $objExcel.Quit()
    Mais ce matin il a rencontré un soucis avec un fichier excel avec le vérificateur de compatibilité.

    Je vous joins la capture d'écran

    Nom : problemeverificateurcompatibilie.png
Affichages : 135
Taille : 166,2 Ko

    Comment faire pour désactiver le vérificateur de compatibilité ?
    Merci d'avance

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 067
    Par défaut
    Hello,

    normalement c'est au moment de l'enregistrement que cette option se déclenche et ça veut dire que qq'un l'a cochée avant d'enregistrer le classeur en question
    Vous devrez peut-être ajouter
    ActiveWorkbook.CheckCompatibility = False
    avant l'exportation

    (A adapter au script PS)

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 488
    Par défaut
    Merci de votre réponse

    Entre temps j'ai modifié le script pour corriger quelques défauts

    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
     
    # Conversion Excel vers PDF
    $folderpath = $(Get-Location)
    $FicPDF = "C:\test\mails\20241021\2139769.PDF"
    $FicXLS = "C:\test\mails\20241021\2139769.XLS"
     
    # Constantes pour la conversion
    $xlTypePDF = 0 # Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF
    $xlQualityStandard = 0 # Microsoft.Office.Interop.Excel.XlFixedFormatQuality.xlQualityStandard
     
    # Création d'une instance de l'application Excel
    $objExcel = New-Object -ComObject excel.application
    $ci = [System.Globalization.CultureInfo]'en-US'
    $objExcel.Visible = $false
     
    # Ouverture du classeur Excel
    $workbook = $objExcel.Workbooks.Open($FicXLS, 3)
     
    # Exportation au format PDF
    $workbook.ExportAsFixedFormat($xlTypePDF, $FicPDF, $xlQualityStandard)
     
    # Sauvegarde et fermeture du classeur
    $workbook.Close($true)
    $objExcel.Quit()
     
    # Libération des objets COM
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel) | Out-Null
    [GC]::Collect()
    [GC]::WaitForPendingFinalizers()
    Ca tourne en prod, pour l'instant pas d'erreurs générées (mais je verrai à l'usage)

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 488
    Par défaut
    Un petit retour ^^

    En prod, parfois cela déclenchait des popup connexion office...
    J'ai donc une nouvelle version du programme (merci ChatGPT)

    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
     
    # Conversion Excel vers PDF
    $folderpath = $(Get-Location)
    $FicPDF = "C:\test\mails\20241021\2139769.PDF"
    $FicXLS = "C:\test\mails\20241021\2139769.XLS"
     
    # Constantes pour la conversion
    $xlTypePDF = 0
    $xlQualityStandard = 0
     
    # Création d'une instance de l'application Excel
    $objExcel = New-Object -ComObject excel.application
    $ci = [System.Globalization.CultureInfo]'en-US'
    $objExcel.Visible = $false
    $objExcel.DisplayAlerts = $false
    $objExcel.AutomationSecurity = 3  # msoAutomationSecurityForceDisable
    $objExcel.UserControl = $false
    $objExcel.AskToUpdateLinks = $false
     
    # Ouverture du classeur Excel sans mise à jour des liens
    $workbook = $objExcel.Workbooks.Open($FicXLS, 0, $true, 2)
     
    # Exportation au format PDF
    $workbook.ExportAsFixedFormat($xlTypePDF, $FicPDF, $xlQualityStandard)
     
    # Sauvegarde et fermeture du classeur
    $workbook.Close($true)
    $objExcel.Quit()
     
    # Libération des objets COM
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel) | Out-Null
    [GC]::Collect()
    [GC]::WaitForPendingFinalizers()

Discussions similaires

  1. [XL-MAC 2016] Compatibilité macro excel 365 vers excel mac 2016
    Par julien030881 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/05/2018, 13h40
  2. Macro Compatibilité Excel 2007-2003
    Par Julien44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2008, 14h21
  3. Compatibilité Excel 2000 pour Excel postérieur
    Par Freiya dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/12/2007, 10h09
  4. [Excel] compatibilité Excel 2002 et 97
    Par Aethis dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/07/2007, 14h24
  5. compatibilité excel anglais français
    Par florent149 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/09/2006, 22h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo