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 et trier des données


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 42
    Points : 35
    Points
    35
    Par défaut Transposer et trier des données
    Bonjour,
    j'ai un document excel avec plusieurs colonnes et plusieurs lignes dont l'exemple suivant:

    a b c d e f
    g h i
    j k l m n o p
    q r
    s t u v w x y z

    j'aimerais tout mettre et trier dans la colonne 1 et donc de la forme:

    a
    b
    c
    d
    e
    f
    g
    h
    j
    k
    l
    ...

    en sachant que je ne connais pas d'avance le nombre de lignes ni le nombre de colonnes; il se peut que la ligne 2 contient 3 colonnes mais que la ligne 5 en contient 10.

    l'idéal serait aussi de garder la feuille1 du fichier et de copier le résultat dans une nouvelle feuille à être créée

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Voici une première version pour débutants avec des boucles imbriquées.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub version()
    ' Initialisation
        Ic_F2 = 0
        Il = 0
     
    ' Boucles
        Do              ' Boucle sur les lignes
            Il = Il + 1
            Ic = 0
            If Sheets("Feuil1").Cells(Il, 1) = "" Then Exit Do
            Do          ' Boucle sur les colonnes
                Ic = Ic + 1
                If Sheets("Feuil1").Cells(Il, Ic) = "" Then Exit Do
                Ic_F2 = Ic_F2 + 1
                Sheets("Feuil2").Cells(Ic_F2, 1) = Sheets("Feuil1").Cells(Il, Ic)
            Loop
        Loop
     
    ' Tri de la colonne 1
        Sheets("Feuil2").Select
        Columns("A:A").Select
        Selection.Sort Key1:=Range("A1"), Order1:=xlAscending,  Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End Sub
    A+
    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Merci beaucoup PPz78...ta solution fonctionne bien

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

Discussions similaires

  1. trier des données sur excel via les MFC
    Par craryb dans le forum MFC
    Réponses: 1
    Dernier message: 22/03/2007, 14h51
  2. [VA-E] trier des données avec macro VBA
    Par M@XflY dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 13/01/2007, 13h24
  3. [Tableaux] Trier des données avec des tableaux
    Par yobogs dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2006, 13h39
  4. Re - Trier des données par ordre d'importance
    Par popoliline dans le forum Access
    Réponses: 14
    Dernier message: 25/08/2006, 12h29
  5. Trier des données par ordre d'importance
    Par popoliline dans le forum Access
    Réponses: 19
    Dernier message: 23/08/2006, 19h42

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