CSV Format colonne alphanumérique fixe

Bonjour,

Je travaille sur un fichier excel.
Le fichier contient des données issues d'une requete sur Oracle.

Dans ces colonnes se trouvent des chaines de caractères.

par exemple : 1, B etc

Je dois enregister ce fichier au format csv ou txt, mais avec une longueur fixe.
Par exemple la colonne A contient :
1
2
d
5
5

Je veux que la colonne enregister sous csv ou txt ait 5 caractères de longueur(complété avec des blancs).

Comment faire?

Merci d'avance

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,
    Je veux que la colonne enregister sous csv ou txt ait 5 caractères de longueur(complété avec des blancs).
    Beh oui, mais quel blanc ? dans l'exemple que tu montre il y a 5 données ?
    Développe un peu mieux pour qu'ont puisse t'aider.
    Et un peu plus complet.. combien de colonne(s) ?
    Et tu est certain que les données en colonne doivent êtres mémorisées en ligne ?
    A+
    1. Justement, toutes les données sont dans la colonne.
      Le fichier sera transformé en fichier plat.
      Je voudrais obtenir :

      1(blanc)(blanc)(blanc)(blanc)
      2(blanc)(blanc)(blanc)(blanc)
      d(blanc)(blanc)(blanc)(blanc)
      5(blanc)(blanc)(blanc)(blanc)
      5(blanc)(blanc)(blanc)(blanc)

      Le caractère (blanc) équivaut à un espace.

      On ne peut pas être sur de la longueur de la zone de départ, et on est sur de la longueur de la zone de sortie qui est fixe pour toute une colonne.

      Y a il une solution?

      Merci d'avance
      1. Contributeur
        Mettre des espaces dans un fichier texte conviendra pas.
        Pour un CSV
        -> Pour que les champs vides soient pris en compte il faut mettre des entêtes de colonnes (des titres).
        -> Copier la feuille dans un nouveau classeur
        -> Sauver sous.. en CSV
        A+

        Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
        NOTE : Je ne répond pas aux MP pour les questions techniques.
        1. Contributeur
          Bonjour,

          Si j'ai bien compris ta question, sur une autre feuille en A1 :
          =GAUCHE(Feuil1!A1&" ";5)
          à recopier à droite et en bas, puis enregistrer cette feuille en csv.

          eric.

          1. Contributeur
            Bonjour Eric,
            Comment tu fais pour enregistrer une feuille en CSV ?
            A+
          2. Contributeur
            Salut lermite,

            Ben 'enregistrer sous..." et choisir le format "*.csv" dans le type de fichier.

            eric

            PS: seule la feuille active est sauvegardée.
          3. Contributeur
            Eric -> Je pense que tu devrais revoir ta solution
            1°) la formule GAUCHE génère une erreur et quand je regarde dans l'aide cette formule renvoi les x caractères gauche d'une chaîne ?
            2°) Sauver un CSV avec des formules sauve toute les feuilles et garde les formules dans les cellules ?
            Ou alors je m'y suis vraiment mal pris.
            A+
          4. Contributeur
            Je l'avais déjà testée...

            1°) la formule GAUCHE génère une erreur et quand je regarde dans l'aide cette formule renvoi les x caractères gauche d'une chaîne ?
            Heuuu, une erreur ? tu es sûr ?

            Mais effectivement il y a une erreur dans mon post : c'est bien entendu 5 espaces qu'il faut concaténer :
            =GAUCHE(Feuil1!A2&" ";5)
            et prendre la partie gauche pour avoir le texte suivi de x espaces pour faire 5 caractères.

            Ce classeur me fourni ce csv.

            A ouvrir dans le bloc-note. Excel convertissant les numériques à l'ouverture, ceux-ci perdent leurs espaces.
            Le but ne doit de toute façon pas être de l'ouvrir dans excel, mais de fournir un fichier à destination d'une autre appli.

            eric
          5. Contributeur
            PS: à nouveau un seul espace dans la formule (??).
            ccm les enlève....
            lire :
            =GAUCHE(Feuil1!A2&"     ";5)

            eric
        2. Entre tous les sujets et problèmes techniques dus à Excel, VBA, Cobol et Unix, je n'ai eu le temps de commencer à tester la solution hier.

          Merci quand même, Eriiic. Très ingénieux comme solution, pour ma part, jamais je n'y aurais pensé!

          Discussions similaires

          Caractères Alphanumériques

          2 réponses