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 :

lister les données d'une ligne en colonnes [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Par défaut lister les données d'une ligne en colonnes
    Bonjour,

    je suis débutant en excel et je veux exploiter une feuille de calcul mais je suis bloqué
    mon soucis c'est que je veux lister les données d'une ligne en colonnes, je m'explique
    j'ai un tableau comme suit :

    Nom1 valeur 1 valeur 2 valeur 3
    Nom2 valeur 1 valeur 2 valeur 3

    je veux le transformer en tableau suivant :

    Nom 1 Valeur 1
    Nom 1 Valeur 2
    Nom 1 Valeur 3
    Nom 2 Valeur 1
    Nom 2 Valeur 2
    Nom 2 Valeur 3

    merci d'avance pour votre aide

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Toto le fait très bien:

    Dans cet exemple ton tableau commence en A1 de la 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
    14
    15
    Sub toto()
        Dim i As Long, k As Long, j As Long
        k = 1
        Application.ScreenUpdating = False
        With Sheets("Feuil1")
            For i = 1 To .Range("A" & .Rows.Count).End(xlUp).Row
                For j = 2 To .Cells(i, .Columns.Count).End(xlToLeft).Column
                    Sheets("Feuil2").Cells(k, 1) = .Cells(i, 1)
                    Sheets("Feuil2").Cells(k, 2) = .Cells(i, j)
                    k = k + 1
                Next j
            Next i
        End With
        Application.ScreenUpdating = True
    End Sub

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    possible directement avec la fonction TRANSPOSE de feuille de calculs …

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Ah bon ? Illumine moi chef!

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Ben oui EngueEngue !

    Exemple pour inverser le tableau A1:D2 vers F1:G4 :

    [F1:G4] = Application.Transpose([A1:D2])

    TRANSPOSE est une fonction interne de feuille de calculs et je l'utilise souvent dans mes codes
    comme ce jour dans cette discussion

    Bon à savoir tout de même, selon la version d'Excel, peut-être limitée en taille en VBA …

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Soit (A) 2 lignes, 4 colonnes
    Nom1 valeur 1 valeur 2 valeur 3
    Nom2 valeur 1 valeur 2 valeur 3

    Soit (B) 6 lignes 2 colonnes
    Nom 1 Valeur 1
    Nom 1 Valeur 2
    Nom 1 Valeur 3
    Nom 2 Valeur 1
    Nom 2 Valeur 2
    Nom 2 Valeur 3

    t(A)<>(B)

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Ah purée ! J'ai la tête dans le … sac ‼

    Désolé !

    __________________________________________________________________________________________
    La connaissance, c'est comme la confiture, moins on en a plus on l'étale !

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Par défaut
    merci pour vos réponses rapides
    je vais les tester et je revient vers vous en cas de besoin

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2015, 12h11
  2. Réponses: 13
    Dernier message: 02/02/2010, 13h02
  3. modifier les données d'une ligne d'un fichier
    Par racnet dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 07/01/2009, 17h17
  4. Réponses: 2
    Dernier message: 11/04/2007, 18h44
  5. Réponses: 1
    Dernier message: 25/08/2006, 20h01

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