IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Transposer tableau en ligne [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ou insérez votre choix ici
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ou insérez votre choix ici

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Par défaut Transposer tableau en ligne
    Bonjour,

    Je débute en vba et j'ai un soucis que je n'arrive pas à résoudre tout seul. Je souhaite transposer un tableau excel en lignes via une macro parce que le tableau de base est variable (parfois il fait 10 lignes, parfois il en fait 600...).

    En gros, mon tableau de base est le suivant:

    NOM PRENOM AGE
    Toto Gaëtan 21
    Tata Gaëlle 25
    Titi Gilles 30

    Et de ce tableau, je souhaite obtenir le résultat suivant sur une autre feuille:

    NOM Toto
    PRENOM Gaëtan
    AGE 21
    NOM Tata
    PRENOM Gaëlle
    AGE 25
    NOM Titi
    PRENOM Gilles
    AGE 30

    Pouvez-vous m'aider s'il vous plait?

    Merci.

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER($A$1;;MOD(LIGNES($1:1)-1;3))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(A$2;ENT((LIGNES($1:1)-1)/3);MOD(LIGNES($1:1)-1;3))
    En VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Essai()
      TblTitre = [A1:C1]
      n = [A65000].End(xlUp).Row - 1
      TblE = Range("A2:C" & n + 1)
      Dim TblS(1 To 12, 1 To 2)
      For i = 1 To n
       For k = 1 To 3
          TblS((i - 1) * 3 + k, 2) = TblE(i, k)
          TblS((i - 1) * 3 + k, 1) = TblTitre(1, k)
       Next k
      Next i
      [H1].Resize(n * 3, 2) = TblS
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Ou insérez votre choix ici
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ou insérez votre choix ici

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Par défaut résolu
    Quelques petites modifs pour que le code fonctionne sur des tableaux de différentes longueurs, et c'est impec'!

    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transposer tableau colonne en ligne
    Par vicjohns dans le forum SAS Base
    Réponses: 22
    Dernier message: 20/06/2018, 20h33
  2. Réponses: 2
    Dernier message: 08/03/2017, 10h28
  3. style pour tableau coloré ligne par ligne
    Par peppena dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/10/2005, 14h33
  4. Tableau 5 lignes * 3 colonnes
    Par slackjayo dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 05/04/2005, 11h27

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