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 :

[EXCEL] Formatage des données


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut [EXCEL] Formatage des données
    J'ai un pgm qui permet d'ouvrir des fichiers texte sous Excel, à raison d'un fichier par onglet. Le fichier est ouvert avec l'option delimiter tab. Puis, les colonnes A à L sont supprimées. Ensuite, le pgm applique un nouveau formatage à la colonne A, c'est-à-dire delimiter other ;. C'est l'option qu'on retrouve dans le menu Data/Text to columns (version anglais).

    Le pgm fait bien le formatage pour le premier fichier mais les suivants sont mauvais. C'est comme si il avait gardé l'option delimiter other ; pour l'ouverture des fichiers suivants. D'ailleurs ce pb apparaît lorsque l'on fait manuellement.

    Qqn a-t-il une idée?

    Voici le bout de pgm qui permet d'ouvrir le fichier et et de formater la colonne A, sachant que c'est mis dans un boucle qui parcourt le contenu du répertoire où se trouvent 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & rep & fic, Destination:=Range("A1"))
            .name = proc
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
        Columns("A:L").Select
        Selection.Delete Shift:=xlToLeft
        Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=";", _
            FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
        Selection.ColumnWidth = 18.71
        Columns("A:A").Select
        Selection.NumberFormat = "0000000000"

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Hello,

    Je ne sais pas si je vais répondre à ta question mais une chose me semble bizarre... Tu mets :
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=";"

    Comme le ; en anglais, se nomme Semicolon, il y a contradiction dans ton code. Vérifie...

    Tu dis

    A+

  3. #3
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut
    Merci ouskel'n'or.
    En fait, j'ai fait ça en enregistrant la manip sous forme de macro. Le code vient de lui.

    Il fait très bien le formattage pour le premier fichier mais pour les suivants, il fait n'importe quoi. En faisant la manip, on peut avoir le même pb. C'est-à-dire qu'il retient la dernière action qui consistait à ajouter le ";" comme délimiteur pour la colonne A. Il faut désactiver cette option lorsque l'on ouvre le fichier suivant. Seulement, avec la macro, ça plante.

    J'ai essayé de rajouter l'option "Other=false" pour l'ouverture du fichier mais il refuse celle-ci. Du coup, je ne sais pas comment forcer la désactivation de cette option.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    dans le code de lecture essai le rajout de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .TextFileOtherDelimiter = ""

  5. #5
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut
    J'ai essayé, le résultat est le même.

  6. #6
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut
    J'ai contourné le pb en faisant deux boucles.
    La première concerne l'ouverture de chaque fichier dans chaque onglet.
    La deuxième concerne le formatage de la première colonne.
    Ainsi, le pgm ne se mélange pas les pinceaux dans les options.

    Un truc pénible est qu'il affiche une boîte de confirmation lors du formatage. On doit répondre par Ok. Quand il y a une dizaine de fichiers, voir davantages, ça devient lourd.

    Qqn peut-il me dire si il y a un moyen de supprimer cette boîte?
    Je rappelle ici le code du formatage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    For cpt = 1 To fin - 1
            Sheets("Sheet" & cpt).Select
            Columns("A:A").Select
            Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=";", _
                FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
            Selection.ColumnWidth = 13.14
            Columns("A:A").Select
            Selection.NumberFormat = "0000000000"
        Next cpt

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = false
    Y'a qu'ça de vrai !

    A+

  8. #8
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut
    Merci bcp, ça marche!

    PS : j'étais à La Tronche pendant plusieurs années avant d'atterrir à Bruxelles.

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bruxelles ? C'est à côté de quelle ville ?

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    [mode troll on]
    Près de quelle ville???

    Y va s'en prendre une, lui...
    [mode troll off]
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. formatage des données excel
    Par majda_afkir dans le forum Alimentation
    Réponses: 1
    Dernier message: 16/10/2009, 10h20
  2. [VBA-E] Formatage des données à l'ouverture d'un fichier texte
    Par jmercier dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2005, 17h00
  3. [Struts] Formatage des données
    Par Biloo dans le forum Struts 1
    Réponses: 6
    Dernier message: 15/09/2005, 12h13
  4. [Excel] Récupérer des données d'une base Access
    Par FoxDeltaSierra dans le forum Excel
    Réponses: 8
    Dernier message: 03/09/2005, 10h22
  5. Réponses: 3
    Dernier message: 25/07/2005, 09h40

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