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 :

Macro pour transposer les colonnes en lignes


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Macro pour transposer les colonnes en lignes
    Bonjour a tous,
    j'ai besoin d'une commande macro excel pour transposer les colonnes en lignes. Dans ma base les donnée se présentent de cette manière:

    Nom1 Sexe1 Age1 Statut1 Nom2 Sexe2 Age2 Statut2
    Bob M 35 Marié Abel M 15 Celib

    Je voudrai transposer ces données sous la forme:

    Nom Sexe Age Statut
    Bob M 35 Marié
    Abel M 15 Celib

    Je ne suis pas très doué en programmation.
    Merci

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonsoir
    Ci-joint proposition avec en ligne 1 les titres et en ligne 2 les données à déplacer de Feuil1 (à adapter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Test()
    Dim LastCol As Integer, i As Integer, j As Integer
     
    With Worksheets("Feuil1")                                           'A adpter au nom de ta feuille
        j = 2
        LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column        'N° de colonne de la dernière cellule remplie de la ligne 1
        For i = 5 To LastCol Step 4                                     'on boucle de la colonne 5 à la dernière avec un pas de 4 colonnes
            j = j + 1                                                   'on incrémente la ligne de collage
            .Range(.Cells(2, i), .Cells(2, i + 3)).Cut .Range("A" & j)  'on coupe les 4 cellules à partir de la ième cellule qur la ligne 2 qu'on colle en Aj
        Next i
        .Range(.Cells(1, 5), .Cells(1, LastCol)).EntireColumn.Delete    'on supprime les colonnes à partir de la 5ème (suppression des entêtes)
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/09/2013, 18h30
  2. Macro pour supprimer les lignes entre les titres
    Par nouvelinscrit dans le forum VBA Word
    Réponses: 17
    Dernier message: 05/10/2011, 20h48
  3. [XL-2003] Débutant - macro pour supression de colonnes et lignes vide
    Par domcoool dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2010, 10h59
  4. [XL-2007] Macro pour masquer les colonnes avec cellules vides
    Par Cirrus22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/12/2009, 19h50
  5. Transposer les colonnes en lignes
    Par taisherg dans le forum SAS Base
    Réponses: 9
    Dernier message: 03/12/2008, 16h51

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