Excel : Rassemblement

Résolu
Bonjour,

J'aimerais savoir comment peut on faire pour rassembler plusieurs colonnes sur une seul et unique colonne. Je m'explique.

colonne B1 à B15 , puis colonne C1 à C15, puis D1 à D15... etc...

J'aimerais rassembler en masse ces colonnes sur par exemple une seule et unique colonne A1 à A500 (ou+). En fait la colonne A serait "la somme" de toutes ces colonnes B,C,D,E..etc.. (sachant que certaines colonnes ne contiennent que du texte).

Par avance merci.

Cordialement.
Configuration: Windows XP Internet Explorer 7.0

10 réponses

  1. Merci bcp à tous les deux, vos deux techniques fonctionnent à merveille. Encore merci.
    0
    1. Contributeur
      Re,

      Puisque le but est de coller dans un fichier texte c'est plus simple de le créer directement. Et avec un peu de chance ça t'arrangera... ;-)
      Sub EcritTxt()
          Dim numfich As Integer, col As Long, lig As Long
          numfich = FreeFile
          Open "C:\tmp\test.txt" For Output As #numfich
          For col = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
              For lig = 1 To 15
                  Print #numfich, Cells(lig, col) & vbCrLf;
              Next lig
          Next col
          Close #numfich
      End Sub

      Le répertoire c:\tmp\ doit être créé ou bien remplacer dans le code par celui voulu.
      Une nouvelle génération du fichier écrase l'ancien.

      riclamyrtille.xls

      eric
      0
      1. Voilà ce que je ferais:

        Colle tes lignes en tant que texte dans Excel. (Collage spécial)
        Ces lignes vont remplir la colonne A
        Là tu vas faire une recherche des tirets ( - ) pour les supprimer
        Clique sur édition puis sur rechercher

        Dans la case chercher met le tiret, dans la case « remplacer par tu rentres une tabulation ensuite tu cliques sur " remplacer tout" et tu fermes la fenêtre

        A partir de là nous allons travailler dans la colonne A pour séparer les formules
        Dans l’exemple que tu me donnes j’ai rajouté un zéro (0) devant le B sinon le tri serait faussé.
        Si tu n’as pas de n° de ligne tu ne rajoutes rien.

        Sélectionne tout le texte de la cellule A, tes 700 lignes
        Clique sur le menu Données puis sur convertir
        Dans l’assistant conversion 1 sur 3 lit ce qui est écrit à la 1ere ligne
        1 Coche l'option demandée soit largeur fixe et tu te laisses guider

        Y'a plus qu'à

        Dis nous si ça a marché !
        0
        1. Contributeur
          Bonjour,

          C'est toujours lignes 1 à 15 sur toutes les colonnes ?
          Et si des cellules sont vides il faut conserver la ligne vide ?

          eric
          0
          1. Oui tout a fait, c'est toujours de 1 à 15, et en fait aucune cellule n'est vide.
            0
        2. Voilà comment se présente mon tableau :

          -----------B ------------------------------------- C --------------------------------D
          1 -------- 1: -------------------------------------- 2: ----------------------------etc etc..
          2------- sNom = "blablabla"; ------------- sNom = "machin"; ---------------- etc etc..
          3-------stag = "trucdeblablabla";---------stag = "trucdemachin";-------------etc etc
          4-------Fp X1 = "15";-------------------------Fp X1 = "26"; -------------------etc etc
          5-------Fp X2 = "12"; ----------------------C5 : Fp X2 = "91"; ----------------etc etc
          6
          etc..etc..
          15 ------break; ---------------------------------break;-----------------------etc etc..

          Voilà comment se présente mon tableau.

          Je voudrais pouvoir faire en masse sur un .txt (notepad) l'ensemble des colonnes de la facon suivante (par une macro ou autre plus simple) :

          1 :
          sNom = "blablabla";
          stag = "trucdeblablabla";
          Fp X1 = "15";
          Fp X2 = "12";
          ....
          break;
          2 :
          sNom = "machin";
          stag = "trucdemachin";
          Fp X1 = "26";
          Fp X2 = "91";
          ...
          break;

          Actuellement je suis obligé de faire copier colonne B (de 1à15) de mon fichier xls, coller sur note pad, puis copier colonne C (de 1 à 15) du fichier xls, puis coller à la suite de mon premier collage sur notepad... et ainsi de suite... (j'ai 700 colonnes ^^)

          En espérant avoir été clair et concis cette fois. Excusez moi pour les posts précedents.

          P-S : Pour la fonction CONCATENER, cela rassemble en effet mais pour mettre sur une seule ligne, or là c'est pour avoir 15 lignes x 700 , soit 10500 lignes.
          0
          1. Salut !

            Tu sélectionnes tes lignes , copier,
            tu te mets dans la cellule C ou autre qui soit libre
            puis collage spécial , transposé

            ensuite tu utilises la fonction CONCATENER

            0
            1. Les formules se présentent telles que tu le montres ici ou elles sont une à la suite de l'autre sur des lignes de cette façon : B1 : 1 : , B2: sNom = "blablabla"; B3 : stag = "trucdeblablabla"; B4: Fp X1 = "15"; ?

              Si elles ent en colonnes copie et colle les directement sur une feuille d'un classeur excel que tu ne conserveras que pour le stockage, tu iras les chercher au moment de faire tes script.
              Si elles sont en lignes y'aura plus (+) de travail.
              0
              1. Voilà comment se présente mon tableau :

                -----------B ------------------------------------- C --------------------------------D
                1 -------- 1: -------------------------------------- 2: ----------------------------etc etc..
                2------- sNom = "blablabla"; ------------- sNom = "machin"; ---------------- etc etc..
                3-------stag = "trucdeblablabla";---------stag = "trucdemachin";-------------etc etc
                4-------Fp X1 = "15";-------------------------Fp X1 = "26"; -------------------etc etc
                5-------Fp X2 = "12"; ----------------------C5 : Fp X2 = "91"; ----------------etc etc
                6
                etc..etc..
                15 ------break; ---------------------------------break;-----------------------etc etc..

                Voilà comment se présente mon tableau.

                Je voudrais pouvoir faire en masse sur un .txt (notepad) l'ensemble des colonnes de la facon suivante (par une macro ou autre plus simple) :

                1 :
                sNom = "blablabla";
                stag = "trucdeblablabla";
                Fp X1 = "15";
                Fp X2 = "12";
                ....
                break;
                2 :
                sNom = "machin";
                stag = "trucdemachin";
                Fp X1 = "26";
                Fp X2 = "91";
                ...
                break;

                Actuellement je suis obligé de faire copier colonne B (de 1à15) de mon fichier xls, coller sur note pad, puis copier colonne C (de 1 à 15) du fichier xls, puis coller à la suite de mon premier collage sur notepad... et ainsi de suite... (j'ai 700 colonnes ^^)

                En espérant avoir été clair et concis cette fois. Excusez moi pour les posts précedents.
                0
            2. Tu as raison, je vais donner un exemple concret.

              B1 : 1 :
              B2: sNom = "blablabla";
              B3 : stag = "trucdeblablabla";
              B4: Fp X1 = "15";
              B5 : Fp X2 = "12";
              ....
              B15 : break;

              C1 : 2 :
              C2 : sNom = "machin";
              C3 : stag = "trucdemachin";
              C4 : Fp X1 = "15";
              C5 : Fp X2 = "12";
              ...
              C15 : break;

              et j'en ai comme cela environ 700 colonnes

              J'aimerai pouvoir mettre tout sur une seul colonne dans le but de pouvoir après copier coller dans un bete notepad pour l'utilisation d'un script.

              Par avance merci.
              0
              1. B1 à B15 pour moi ce sont des lignes

                pourquoi veux tu grouper ces lignes ?
                0