Transformer un tableau Excel en une colonne

Résolu
Bonjour à tous les membres,

Pour mon travail, je cherche à transformer un tableau excel en une colonne.

Exemple :

Mon tableau est :
A1 = 1 B1 = 2 C1 = 3
A2 = 4 B2 = 5 C2 = 6

J'aimerais avoir une colonne qui se remplit de la manière suivante :
A1 = 1
A2 = 2
A3 = 3
A4 = 4
A5 = 5
A6 = 6

Je cherche donc une fonction qui pourrait faire ça automatiquement puisque mon tableau de valeurs fait 24 colonnes et 365 lignes.

Le mieux serait une formule Excel car je ne maîtrise pas VBA

Un grand merci pour l'aide d'avance :)

4 réponses

  1. Bonjour à tous,

    si tes données sont, comme Philou10120 le propose, en A1:X365 et le résultat en AA1:AA8760, tu sélectionnes AA1:AA8760 et tu saisis cette formule matricielle :
    =INDEX($A$1:$X$365;1+ENT((LIGNE($1:$8760)-1)/24);1+MOD(LIGNE($1:$8760)-1;24))


    cordialement
    3
    1. Contributeur
      Bonjour,

      Voici un exemple en vba si tu ne trouves pas de formule:

      Sub For_Each_Next_Plage()
      Dim FL1 As Worksheet, Cell As Range, Plage As Range
       Dim i As Integer
       i = 1
          Set FL1 = Worksheets("Feuil1") 'adapter feuille
          With FL1
              'Détermination de la plage de cellules à lire
              'Peut s'écrire en utilisant l'objet range de la plage
              'For Each Cell In .Range("B3:E15")
       
              'ou en utilisant l'objet Plage (range) de la plage
              Set Plage = .Range("A1:E15") 'adapter plage
              For Each Cell In Plage
        'Valeur de la cellule lue
                Range("F" & i) = Cell.Value 'adapter colonne de reception
                i = i + 1
              Next
          End With
          Set FL1 = Nothing
          Set Plage = Nothing
      End Sub
      

      @+ Le Pivert
      0
      1. Contributeur
        Voila un exemple:

        Ouvrir le classeur "Boucle" et cliquez sur GO, la colonne A du classeur "test" se rempli.
        A adapter bien entendu!

        http://www.cjoint.com/c/GCvp5HXkGSQ

        @+ Le Pivert
        0
    2. Bonjour John

      Sans macro, si vos données sont en colonne A1:X365 mettre cette formule en AA1

      =INDIRECT(ADRESSE(COLONNE()-26;LIGNE();1;1;"feuil1");1)

      puis trier celle-ci jusqu'à la colonne OA et tirer la ligne AA1:OA1
      vers le bas jusqu'à la ligne 24
      0
      1. Merci cs_Le Pivert ! Je vais essayer cette solution si la solution via Excel est trop compliqué ...

        Merci également à PHILOU10120. Cependant, j'ai oublié de précisé que la colonne que je souhaite remplir est situé dans un autre fichier excel ... Pourrais-t-on adapter ta formule ?

        John
        0
      2. @JohnRemplacer Feuil1 par le chemin du fichier
        Ouvrir les 2 classeurs et se mettre dans la formule ci-dessus et sélectionner Feuil1 puis allez dans l'autre classeur es cliquer sur la feuille ou vous voulez récupérer les infos, puis entrer
        Feuil1 est remplacer par la nouvelle feuille de l'autre classeur
        0
      3. J'ai l'impression que ça ne marche pas :(. En fait, je souhaiterais créer une seule et unique colonne qui se remplit en lisant le tableau : d'abord les valeurs de la 1ère ligne, puis la 2ème ligne à la suite, 3 ème ligne ...

        C'est plus compréhensible ?
        0
    3. Contributeur
      Bonjour John (et les autres).

      Formule non matricielle, donc plus compliquée, permettant d'afficher dans un fichier une colonne de 8760 cellules, à partir d'un tableau de 24 x 365 cellules situé dans la Feuil1 d'un autre fichier appelé Classeur5
      =INDEX([Classeur5]Feuil1!$A$1:$X$365;ARRONDI.SUP(LIGNE() /24;0);SI(MOD(LIGNE();24)=0;24;MOD(LIGNE();24)))

      0
      1. Parfait !!

        Merci beaucoup ;)
        0