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

Macros et VBA Excel Discussion :

Modification de la structure à l'ouverture via macro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 7
    Par défaut Modification de la structure à l'ouverture via macro
    Bonjour à tous,
    D'habitude je trouve toutes mes solutions sur le site et j'en profite pour vous dire merci, par contre là je sèche.
    Je suis sous Excel 2007 et je télécharge par macro un .zip que je dézippe. Jusque là pas de soucis. C'est à l'ouverture du fichier par macro que ça coince. Il se nomme xxx.xls mais doit avoir un genre de format .csv ou .txt
    Si je l'ouvre à la main, la structure est bonne. Par la macro, il modifie la structure et change le format d'une partie des dates. Bien sûr j'ai essayé la méthode open/opentext avec les attributs local:=true/ plusieurs rang différents/ l'ouvrir et l’enregistrer sous un format xlsx / le renommer en txt pour l'ouvrir avec les delimiters mais ce n'est pas vraiment un vrai txt pour moi.
    Bref, quand je l'ouvre à la main, je filtre la colonne D et là je cherche l'année en cours et le jour en cours. Par la macro, et comme il modifie le format je ne retrouve pas mon jour en cours.
    Si vous avez une idée, je suis preneur. Le fichier zip est ici : http://clients.rte-france.com/servle...let?annee=2018 le .xls est aussi en pièce jointe
    A l'ouverture à la main du .xls, une information dit qu'il n'est pas au bon format etc... mais vous pouvez l'ouvrir sans hésiter
    Ouvrez le via une petite macro du style Workbooks.Open Filename:=mon_dossier & Dir(mon_dossier & "Donne*xls") et constatez

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,

    Si tu l'ouvres avec l’enregistreur de macro tu obtiens ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro1()
        Workbooks.OpenText Filename:= _
            "C:\DonneesIndisponibilitesProduction_2018.xls", _
            Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
            Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
            , 1), Array(16, 1), Array(17, 1), Array(18, 1)), TrailingMinusNumbers:=True
    End Sub
    Ensuite pour l'ouvrir sans souci il suffit d'utiliser la macro générée.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 7
    Par défaut
    Bonsoir,
    Merci pour le retour anasecu.
    Oui le fichier s'ouvre mais il n' a pas le bon format. par exemple en ligne 25 il y a du texte et les les dates sont passées (peut etre pas toutes) au format Américain.
    Si tu l'ouvres à la main, tu verras qu'il n'y a en colonne C par exemple, que des dates.
    Comme s'il y avait un problème de gestion de longueur de caractères des commentaires et que le fait de l'ouvrir via macro faisait des renvois ou des sauts de lignes!?!

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    en effet ce n'est pas un xls.
    Essaie en changeant l'extension en .txt avant de l'ouvrir avec excel.
    eric

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 7
    Par défaut
    Bonjour,

    J'ai déjà essayé, ce n'est pas concluant ni en .txt, ni en.csv
    J'ai aussi essayé de le réenregistrer en .xlsx par la macro mais rien ni fait.
    Je poursuis donc mon investigation.
    Merci à vous

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    ouvre le txt avec l'enregistreur de macro et à l'étape 3 (ou 2 ?) sur les colonnes date choisis le format Date JMA.
    Ca te mettra le bon 2nd paramètre de FieldInfo:= (, 4 pour JMA) aux champs date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        ChDir "D:\tmp\Téléchargement Chrome"
        Workbooks.OpenText Filename:= _
            "D:\tmp\Téléchargement Chrome\DonneesIndisponibilitesProduction_2018.txt", _
            Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 4), Array(4, 4), Array(5, 4), Array(6, 4), Array(7, 1), Array(8, 1), _
            Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
            , 1), Array(16, 1), Array(17, 1), Array(18, 1)), TrailingMinusNumbers:=True
    End Sub
    eric

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    effectivement l'extension du fichier n'est pas bonne car c'est un simple fichier texte délimité par une tabulation !

    Donc le renommer en .txt puis faire glisser l'icône de ce fichier depuis l'Explorateur Windows vers Excel,
    aucun souci de date de mon côté.

    Évidemment demander à l'auteur de ce fichier d'enregistrer les dates enfin au bon format natif d'Excel : YYYY/MM/DD …

    Sinon ce n'est pas compliqué de lire ligne par ligne le fichier puis de convertir les dates via CDate ou encore FormulaLocal,
    voir les exemples dans les discussions de ce forum.

    Sans compter la fonctionnalité d'Excel d'importation de fichier texte juste en répondant bien à son assistant …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

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

Discussions similaires

  1. Modification des Zones de Textes via Macro
    Par thais781 dans le forum Powerpoint
    Réponses: 4
    Dernier message: 18/07/2016, 20h05
  2. [XL-2010] excel - ouverture d'un autre fichier via Macro
    Par willoweiss dans le forum Excel
    Réponses: 5
    Dernier message: 18/05/2014, 19h09
  3. [XL-2007] Ouverture fichier word via macro XL
    Par Lady Maria dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/01/2010, 13h46
  4. [AC-2007] Ouverture de formulaire via macro
    Par damsmut dans le forum IHM
    Réponses: 7
    Dernier message: 10/12/2009, 09h49
  5. [E-03] Ouverture d'un dossier Réseau via Macro
    Par ted the Ors dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/01/2009, 11h28

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