Comment faire pour utiliser des macros pour trier des données de plusieurs colonnes en une seule colonne dans Excel

Traductions disponibles Traductions disponibles
Numéro d'article: 247311 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F247311
Agrandir tout | Réduire tout

Sommaire

Résumé

Microsoft Excel ne comprend pas de méthode intégrée permettant de trier des données disposées en colonne de style journal. Cet article présente un exemple de macro permettant de trier ce format de données.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

Tri intégré

Dans Microsoft Excel, vous utilisez généralement la fonctionnalité de tri pour trier une liste. Une liste dans Excel est une série de lignes de feuille de calcul contenant des données liées, telles qu'une base de données de facturation ou un ensemble de noms de clients et de numéros de téléphone. Vous pouvez utiliser une liste comme une base de données, dans laquelle chaque ligne est un enregistrement et chaque colonne est un champ. La première ligne de la liste contient en général l'intitulé des colonnes, par exemple :
   A1 : Q1   B1 : Q2   C1 : Q3
   A2 : 10   B2 : 2    C2 : 4
   A3 : 14   B3 : 18   C3 : 9
   A4 : 7    B4 : 17   C4 : 12
   A5 : 1    B5 : 13   C5 : 5
   A6 : 11   B6 : 8    C6 : 16
   A7 : 3    B7 : 6    C7 : 15
				
Si vous triez la liste dans l'ordre croissant, par le champ Q1 (colonne A), les résultats sont les suivants :
   A1 : Q1   B1 : Q2   C1 : Q3
   A2 : 1    B2 : 13   C2 : 5
   A3 : 3    B3 : 6    C3 : 15
   A4 : 7    B4 : 17   C4 : 12
   A5 : 10   B5 : 2    C5 : 4
   A6 : 11   B6 : 8    C6 : 16
   A7 : 14   B7 : 18   C7 : 9
				

Tri d'une colonne de style journal

Les colonnes de style journal et les colonnes de style horizontal de gauche à droite sur chaque ligne désignent toutes deux le même type de format de données. Dans les colonnes de style journal, les données remplissent une colonne et continuent en haut de la colonne suivante. Dans ce cas, vos données n'ont probablement par d'intitulés pour chaque colonne, par exemple :
   A1 : 10   B1 : 2    C1 : 4
   A2 : 14   B2 : 18   C2 : 9
   A3 : 7    B3 : 17   C3 : 12
   A4 : 1    B4 : 13   C4 : 5
   A5 : 11   B5 : 8    C5 : 16
   A6 : 3    B6 : 6    C6 : 15
				
Vous pouvez utiliser l'exemple de macro de cet article pour trier les colonnes de style journal dans l'ordre croissant. Si vous utilisez la macro avec les données ci-dessus, les résultats sont les suivants :
   A1 : 1    B1 : 7    C1 : 13
   A2 : 2    B2 : 8    C2 : 14
   A3 : 3    B3 : 9    C3 : 15
   A4 : 4    B4 : 10   C4 : 16
   A5 : 5    B5 : 11   C5 : 17
   A6 : 6    B6 : 12   C6 : 18
				
Pour que la macro de tri fonctionne comme décrit, procédez comme suit :
  1. Ouvrez un nouveau classeur.
  2. Entrez les données d'exemple suivantes dans cette feuille de calcul :
       A1 : 10   B1 : 2    C1 : 4
       A2 : 14   B2 : 18   C2 : 9
       A3 : 7    B3 : 17   C3 : 12
       A4 : 1    B4 : 13   C4 : 5
       A5 : 11   B5 : 8    C5 : 16
       A6 : 3    B6 : 6    C6 : 15
    					
  3. Dans le menu Outils, pointez sur Macro, puis cliquez sur Visual Basic Editor.
  4. Dans le menu Insertion, cliquez sur Module.
  5. Tapez le code suivant dans le module :

    Remarque L'exemple suivant montre comment trier dans l'ordre croissant. Vous pouvez changer l'ordre de tri en modifiant la valeur de l'argument « Order1:= » en xlDescending.
       Sub SortAllRangeData()
       ' Place column header for temporary sort area.
       Range("IV1").Value = "Numbers"
       
       ' Move numbers to temporary sort location.
       For Each cell In Selection
          Range("iv65536").End(xlUp).Offset(1, 0) = cell.Value
       Next cell
       
       ' Sort numbers in ascending order.
       Range("IV1", Range("IV1").End(xlDown)).Sort Key1:=Range("IV2"),  _
       Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
            
       ' Move sorted data back to original sheet location.
    
       Selection(1, 1).Activate ' Make sure the ActiveCell is the
                                ' top left of Selection first.
       CCnt = Selection.Columns.Count
       RCnt = Selection.Rows.Count
       CellCnt = Selection.Cells.Count
       Tcell = 2
       For c = 1 To CCnt
         For r = 1 To RCnt
            Range(ActiveCell.Address).Offset(r - 1, c - 1).Value =  _
            Range("iv" & Tcell).Value
            Tcell = Tcell + 1
         Next r
       Next c
       
       ' Clean up temporary sort location.
       Range("IV1", Range("IV1").End(xlDown)).Clear
    End Sub
    					
  6. Dans le menu Excel de Microsoft Excel X pour Mac et versions ultérieures d'Excel pour Mac ou dans le menu Fichier de toutes les autres versions d'Excel, cliquez sur Fermer et retourner à Microsoft Excel.
  7. Sélectionnez les cellules A1:C6.
  8. Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros. Sélectionnez la macro SortAllRangeData, puis cliquez sur Exécuter.
Toutes les données contenues dans la plage sélectionnée sont maintenant triées et apparaissent comme suit :
   A1 : 1    B1 : 7    C1 : 13
   A2 : 2    B2 : 8    C2 : 14
   A3 : 3    B3 : 9    C3 : 15
   A4 : 4    B4 : 10   C4 : 16
   A5 : 5    B5 : 11   C5 : 17
   A6 : 6    B6 : 12   C6 : 18
				

Références

Excel X pour Mac et versions ultérieures

Pour plus d'informations sur le tri, cliquez sur Aide sur Microsoft Excel dans le menu ? (Aide), tapez tri, cliquez sur Rechercher, puis cliquez sur une rubrique pour l'afficher.

Pour plus d'informations sur la façon d'utiliser la méthode de tri de Visual Basic Editor, cliquez sur Aide sur Microsoft Visual Basic dans le menu Aide, tapez méthode de tri, cliquez sur Rechercher, puis sur la rubrique méthode de tri pour l'afficher.

Excel 2001 pour Mac

Pour plus d'informations sur la façon de trier, cliquez sur le Compagnon Office, tapez trier une liste, cliquez sur Rechercher, puis cliquez sur une rubrique pour l'afficher.

Remarque Si le Compagnon est masqué, cliquez sur le bouton Compagnon Office dans la barre d'outils Standard.

Pour plus d'informations sur la façon d'utiliser la méthode de tri de Visual Basic Editor, cliquez sur le Compagnon Office, tapez méthode de tri, cliquez sur Rechercher, puis sur la rubrique méthode de tri pour l'afficher.

Propriétés

Numéro d'article: 247311 - Dernière mise à jour: vendredi 23 février 2007 - Version: 6.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 2000 Standard
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X pour Mac
  • Microsoft Excel 2001 pour Mac
  • Microsoft Excel 98 pour Macintosh
Mots-clés : 
kbautomation kbprogramming kbhowto KB247311
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com