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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 4
    Points : 2
    Points
    2

    Par défaut Aide pour convertir une macro Excel en macro pour Calc d'OpenOffice 4.1.5

    Bonjour,

    J'ai besoin d'un coup de main pour convertir une macro Excel en macro pour Calc d'OpenOffice 4.1.5.
    Le but de cette macro est de parcourir une feuille où les chemins des fichiers à convertir dans la colonne C et les noms de fichiers sont dans la colonne D.
    Les fichiers à convertir sont des fichiers .wks qu'il faut convertir en fichier .xlsx.
    Quand la conversion d'un fichier est terminée, la macro inscrit "OK Fait" en colonne B en regard de la ligne concernée.
    Merci à l'avance aux personnes qui liront ma demande et triple mercis à celle qui m'aidera.
    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
    39
    40
    41
    Sub Traitements()
    Dim Fichier As String
    Dim Chemin As String
    Dim Wb As Workbook
    Dim LeNom As String
    Dim x As Long
    Dim Dlig As Long
    Dim Fs As Workbook
     
       Application.ScreenUpdating = False
       Set Fs = ThisWorkbook
       Dlig = Fs.Worksheets("Feuil2").Cells(Rows.Count, "C").End(xlUp).Row
     
       With Fs.Worksheets("Feuil2")
          For x = 6 To Dlig
             If .Cells(x, "B") = "OK Fait" Or Right(.Cells(x, "D"), 3) <> "xlr" Then    ' <<< Changement ICI.
                If Right(.Cells(x, "D"), 3) <> "xlr" Then .Cells(x, "B") = "OK passer"  '<<< Changement ICI.
             Else
                Chemin = .Cells(x, "C")
                Fichier = Dir(Chemin & .Cells(x, "D"))
     
                Do While Fichier <> ""
                   Set Wb = Workbooks.Open(Chemin & Fichier)
                   LeNom = Left(Wb.Name, Len(Wb.Name) - 4)
                   LeNom = LeNom & ".xlsx"
     
                   Application.DisplayAlerts = False
                   Wb.SaveAs Filename:=Chemin & LeNom, FileFormat:=xlOpenXMLWorkbook, Password:="", _
                             ReadOnlyRecommended:=False, CreateBackup:=False
                   Wb.Close SaveChanges:=True
                   Application.DisplayAlerts = True
     
                   .Cells(x, "B") = "OK Fait"
                   Kill Chemin & .Cells(x, "D")
                   Set Wb = Nothing
                   Fichier = Dir
                Loop
             End If
          Next x
       End With
    End Sub

    ric127

  2. #2
    Membre averti
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 284
    Points : 445
    Points
    445

    Par défaut

    Bonjour ric127,

    Comme une mercedes ne deviendra pas une fiat en changeant le logo...
    Le fait de changer l'extension d'un fichier ne change ni sa structure ni son codage.
    Ainsi une image jpeg restera une image même si vous changer l'extension en xlsx.
    Sauf que vous ne pourrez plus l'ouvrir.
    Ca fonctionne peut être très bien dans des logiciels du même éditeur, mais là vous courrez au désastre.
    Pour convertir un fichier il faut à mon avis utiliser un logiciel adapté qui décode le fichier original et l'encode suivant le type choisi.
    LibreOffice (fr_YT): 6.1.3.2 (07/11/2018)
    OS : Windows 10.0

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 4
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    Merci de t'intéresser à mon souci.

    Le fichier est bel et bien converti "FileFormat:=xlOpenXMLWorkbook,"

    De plus, j'ai posté ma demande sans me relire suffisamment; je te prie de m'excuser.

    Les fichiers à convertir sont les fichiers Works ( .Wks ).

    C'est pour cette raison que je me retrouve à utiliser OpenOffice pour tenter de convertir plusieurs centaines de classeurs Works de toutes ces années qui passent trop vites.

    Sinon, Excel fonctionne merveilleusement bien avec la conversion des fichiers ( .xlr ).


    Merci de me lire à nouveau.


    ric127

  4. #4
    Membre averti
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 284
    Points : 445
    Points
    445

    Par défaut

    Il faut donc enregistrer les fichiers wks en xlsx depuis excel, même éditeur...
    LibreOffice (fr_YT): 6.1.3.2 (07/11/2018)
    OS : Windows 10.0

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 4
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    J'ai accès à Excel 2007 et Excel 2016. Ni l'un, ni l'autre ne peut ouvrir les fichiers .wks pour les convertir.

    Je me retrouve avec une feuille contenant du langage du type :
    DZT
    ÅZT
    ZT
    J'ai lu qu'Excel 2003 pourrait les ouvrir pour les passer en .xls ... ensuite, il serait aisé de les repasser en .xlsx

    Sauf que je n'ai pas accès à Excel 2003 pour tester la chose.


    Merci de me lire


    ric127

  6. #6
    Membre averti
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 284
    Points : 445
    Points
    445

    Par défaut

    On en revient à ma première réponse:
    Pour convertir un fichier il faut à mon avis utiliser un logiciel adapté qui décode le fichier original et l'encode suivant le type choisi.
    A enregistrer directement en ods pour une utilisation sur OOffice, ou xlsx accepté également
    Désolé si MS est incapable de relire ses propres fichiers natifs...
    LibreOffice (fr_YT): 6.1.3.2 (07/11/2018)
    OS : Windows 10.0

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 4
    Points : 2
    Points
    2

    Par défaut

    Bonjour

    Merci pour tout ... le problème a été résolu sur un autre site.


    ric127

  8. #8
    Membre averti
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 284
    Points : 445
    Points
    445

    Par défaut

    Bonjour ric127,

    Pourrait on connaitre la solution, ça doit pouvoir intéresser d'autres utilisateurs

    Merci
    LibreOffice (fr_YT): 6.1.3.2 (07/11/2018)
    OS : Windows 10.0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Soucis pour convertir un code PHP en C# pour accéder à une Web API
    Par Johnny P. dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 08/06/2016, 21h12
  2. Macro pour convertir une fourchette de dates en plusieurs lignes
    Par Legumesmiam dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/11/2015, 11h28
  3. [PPT-2013] Bouton avec macro pour ouvrir une feuille Excel PowerPoint 2013
    Par gdmeunier dans le forum Powerpoint
    Réponses: 0
    Dernier message: 27/10/2014, 14h10
  4. [Toutes versions] Macro pour ajouter une feuille excel avec un nom précis
    Par luc-ratif dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/05/2014, 10h53
  5. Macro pour activer une formule excel
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 19/03/2010, 10h42

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