EXCEL Transformer des lignes en une colonne

TEDDY -  
JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je souhaite transformer un fichier excel en format texte drapeau.
exemple: J'ai des valeurs dans les champs suivants sur plusieurs lignes (25000 lignes) et plusieurs colonnes (180 colonnes)
A1 B1 C1 Etc... (180 colonnes)
A2 B2 C2 Etc... (180 colonnes)
etc....(25000 lignes)

que je dois importer en format drapeau (sur une colonne)
exemple:
A1 valeur de A1
A2 valeur de B1
A3 valeur de C1
etc....(180 colonnes)

A181 valeur de A2
A182 valeur de B1
A183 valeur de C1
etc...

2 réponses

  1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    bonsoir,

    si tu veux le mettre dans excel, tu n'auras pas assez de lignes (180*25000)

    dans un fichier texte pas de soucis

    dans plusieurs onglets pas de soucis non plus

    Peux-tu préciser?

    cordialement
    1
    1. T@DDY
       
      Bonsoir,
      OK, pas de soucis mais comment faire ?....
      Je peux importer en plusieurs fois (si nécessaire)
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    bonsoir

    par une macro à lancer sur la feuille excel qui contient tes données :

    Sub une_col()
    nbcol = 180
    nblignes = 25000
    nblignesparfeuille = 50000    'c'est un choix
    nbfeuilles = Int(nbcol * nblignes / nblignesparfeuille) + 1
    Set Source = ActiveWorkbook
    Set Destination = Workbooks.Add
    While Destination.Sheets.Count < nbfeuilles
        Destination.Sheets.Add
    Wend
    l = 1   'n° de la ligne
    f = 1   'n° de l'onglet
    For i = 1 To nblignes
        For j = 1 To nbcol
            Destination.Sheets(f).Cells(l, 1).Value = Source.Sheets(1).Cells(i, j).Value
            l = l + 1
            If l > nblignesparfeuille Then
                l = 1
                f = f + 1
            End If
        Next
    Next
    End Sub


    en l'occurence cette macro prend les données de la feuille 1 du classeur source et les met en colonne dans les feuilles 1 à nbfeuilles du classeur destination. Ce dernier est créé par la macro mais pas enregistré.

    bon courage
    1