1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : juin 2016
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Problème d'espace non conservé dans une méthode text to colonns

    Bonjour à toutes et à tous,

    Je suis débutant en VBA Excel et suis confronté à une problématique et me permets de soliciter votre aide.

    L’objectif de mon code est de :
    1. Récupérer une ligne d’un fichier plat (les espaces étant important)
    2. Passer la ligne dans Excel (découpage de la ligne par colonne)

    C’est sur cette étape que je rencontre un problème, les données sont présentes dans les colonnes, mais les espaces n'y sont plus présent.
    Je me retrouve avec ‘Valeur’ au lieu de ‘Valeur ‘

    Du coup, lorsque je fais une concaténation après modification la ligne créée n'est plus correctement formée.



    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
    Function LireFlux(CellFlux As String)
    '
    ' LireFlux Macro
    ' Decoupage de la ligne, permet d avoir une valeur par cellule
     
    '
        Range(CellFlux).Select
        Selection.TextToColumns Destination:=Range(CellFlux), DataType:=xlFixedWidth, _
            FieldInfo:=Array(Array(0, 2), Array(1, 2), Array(10, 2), Array(11, 2), Array(26, 2), _
            Array(29, 2), Array(38, 2), Array(43, 2), Array(52, 2), Array(58, 2), Array(59, 2), Array( _
            65, 2), Array(66, 2), Array(69, 2), Array(75, 2), Array(80, 2), Array(82, 2), Array(83, 2), _
            Array(88, 2), Array(90, 2), Array(97, 2), Array(104, 2), Array(107, 2), Array(114, 2), _
            Array(121, 2), Array(128, 2), Array(138, 2), Array(146, 2), Array(149, 2), Array(174, 2), _
            Array(189, 2), Array(192, 2), Array(195, 2), Array(211, 2), Array(215, 2), Array(223, 2), _
            Array(231, 2), Array(233, 2), Array(236, 2), Array(240, 2), Array(242, 2), Array(248, 2), _
            Array(258, 2), Array(264, 2), Array(268, 2), Array(270, 2), Array(285, 2), Array(291, 2), _
            Array(305, 2), Array(307, 2), Array(309, 2), Array(311, 2), Array(320, 2), Array(321, 2), _
            Array(353, 2), Array(354, 2), Array(355, 2), Array(356, 2)), TrailingMinusNumbers:= _
            True
    End Function
    J'ai également pensé à réinsérer les espaces après concatenation, mais la solution me parait peu viable, certains champ pouvant être variable, les espaces le sont également.


    Connaissez-vous un moyen de conserver les espaces dans colonnes ?

    Cordialement,

    Romain

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA, C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Developpeur VBA, C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 611
    Points : 27 921
    Points
    27 921

    Par défaut

    Salut,

    lorsque tu fais ton text to columns, le code que tu utilises passe par
    DataType:=xlFixedWidth

    C'Est donc du texte à longueur fixe..., Est-ce bien le cas ?

    Aurais-tu un exemple de ligne ?
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : juin 2016
    Messages : 2
    Points : 1
    Points
    1

    Par défaut [XL-2013] Problème d'espace non conservé dans une méthode text to colonns

    Bonjour Jean-Philippe,

    Merci pour ta réponse.
    Je vais regarder de plus près ce DataType

    Il s'agit de texte fixe(code postal) et de texte variable (prénom)sur une plage d'index définie [1,10].

    Exemple:

    1romain 94000
    2elisa 78000

    Actuellement, j'essaie de redimensionner mes cellules après avoir fait le découpage.

    Cordialement,

    rOmain

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    6 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 6 039
    Points : 10 668
    Points
    10 668

    Par défaut

    Bonjour
    J'ignore la raison de cet aller (éclatement en deux cellules) puis ce retour (concaténation des deux cellules).
    Je ne vois par ailleurs pas ce qui empêche une concaténation en ajoutant un espace si seconde cellule non vide.
    On en est où ?
    Tu as une première colonne contenant un ou deux mots séparés par un espace et tu veux l'éclater sur deux colonnes en conservant l'espace devant la seconde ?
    Un truc :
    1) remplacement de " " par "/ "
    2) texttocolumns sur séparateur "/"
    de cette manière :
    "toto titi" deviendra "toto/ titi" que l'éclatement transformera en "toto" sur la colonne de gauche et " titi" sur celle de droite
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

    Celui qui prétend déterminer une cause fondamentale sur la base d'un effet n'a aucune chance d'avoir mon estime. S'il insiste, il a alors droit à mon total mépris.

Discussions similaires

  1. [Débutant] Problème de conversion et retour dans une méthode
    Par darkepsylon dans le forum C#
    Réponses: 3
    Dernier message: 19/01/2015, 13h04
  2. Réponses: 3
    Dernier message: 18/08/2010, 11h41
  3. Espace non identifié dans une balise LI sur IE7
    Par BLACKFIRE972 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 03/09/2009, 13h48
  4. Réponses: 1
    Dernier message: 24/06/2008, 22h47
  5. Réponses: 3
    Dernier message: 14/04/2007, 16h06

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