Tri de données dans Excel

Résolu
Kamal -  
karlitodu41 Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour !
Comment visualiser les données en multiple (ex.: le même numéro de téléphone apparaissant plus d'une fois) dans un tableau Excel ?
Est-ce possible par exemple de faire en sorte que les données en double apparaissent en gras, ou dans une autre couleur, ou bien que les cellules prennent une couleur précise, etc. ?
Je cherche une méthode qui n'utilise pas forcemment le tri.
Excel 2003 sous XP.
Merci de votre aide !
Configuration: XP - SP2 - Excel 2003

7 réponses

  1. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
     
    Hello mohkam,

    Donc tu peux utiliser la petite macro ci-dessous. Tu la copies dans un module VBA de ton classeur, et tu l'exécutes. Elle mettra en gras et en rouge les n° de téléphone en double.

    La macro te demandera dans quelle colonne se trouvent tes n° de téléphone. Il suffira de cliquer, avec ta souris, dans une cellule de cette colonne, puis de faire OK. C'est tout.

    Que fait la macro :
    - elle commence par insérer une colonne de travail et y numérote les lignes, pour pouvoir tout remettre dans l'ordre une fois le travail fini
    - elle trie les lignes sur le critère choisi (selon la colonne désignée)
    - elle balaie tout et met en évidence les doublons
    - elle retrie tout dans l'ordre initial
    - elle supprime la colonne de travail.
    Sub VoirDoubles()
    
      Dim I       As Long
      Dim NbrLig  As Long
      Dim NumCol  As Integer
      Dim ColTél  As Range
      
      Set ColTél = Application.InputBox(prompt:="Veuillez cliquer dans la colonne contenant un numéro de téléphone, puis faire OK", Type:=8)
      NumCol = ColTél.Column
      NbrLig = Cells(65536, NumCol).End(xlUp).Row
      
      Application.ScreenUpdating = False
      
      Columns("A:A").Insert Shift:=xlToRight
      Range(Cells(1, 1), Cells(NbrLig, 1)).FormulaR1C1 = "=ROW()"
      Range(Cells(1, 1), Cells(NbrLig, 1)).Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
      Cells.Select
      Selection.Sort Key1:=Range(Cells(1, NumCol + 1), Cells(1, NumCol + 1)), Order1:=xlAscending, Header:=xlGuess, _
          OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
          DataOption1:=xlSortNormal
      For I = 2 To NbrLig
        If Cells(I, NumCol + 1).Value = Cells(I - 1, NumCol + 1).Value Then
          Cells(I, NumCol + 1).Font.Bold = True
          Cells(I, NumCol + 1).Font.ColorIndex = 3
          Cells(I - 1, NumCol + 1).Font.Bold = True
          Cells(I - 1, NumCol + 1).Font.ColorIndex = 3
        End If
      Next
      Cells.Select
      Selection.Sort Key1:=Range(Cells(1, 1), Cells(1, 1)), Order1:=xlAscending, Header:=xlGuess, _
          OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
          DataOption1:=xlSortNormal
      Columns("A:A").Delete Shift:=xlToLeft
      Cells(1, 1).Select
      
      Application.ScreenUpdating = True
        
    End Sub
    
    
    
    6
    1. mohkam Messages postés 7 Statut Membre
       
      Bonjour Armojax !
      ÇA MAAARCHE ! Enfin, c'est vraiment génial pour notre petite équipe (sauf Rintintin qui va perdre ce qui reste de son dimanche !).
      Merci infiniment !
      0
      1. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529 > mohkam Messages postés 7 Statut Membre
         
        Bon dimanche à toi. D'autant plus qu'à Montréal il en reste davantage qu'ici !
        0
    2. greenlittleman
       
      Salut! Je viens demander des conseils pour faire une macro sur excel (tri aléatoire de données sans répétition)...

      Voilà l'énoncé du problème:
      J'ai 4 colonnes sur 130 lignes avec en premier:
      - des coordonnées (en chiffres et lettres) qui correspondent à des positions sur un plan (ex: 5A)
      - une colonne X avec des chiffres
      -une colonne Y avec aussi des chiffres
      -une colonne "flux corrigé" avec des chiffres également

      Le but est de sélectionné 50% des données sur l'ensemble des colonnes et ceci aléatoirement sans répétition.. et de mettre ces résultats sur les colonnes qui suivent..

      Merci de m'aider à sortir de cette impasse...
      0
    3. carob
       
      Bonjour Armojax !
      Ta macro est géniale !
      En as tu une qui supprimerais les doublons (et qui supprimerais toutes les lignes qui y sont rattachées)
      Merci
      0
  2. mohkam Messages postés 7 Statut Membre
     
    Salut Gihef !
    Ça a l'air parfaitement logique, sauf que ça ne marche pas. Mes données sont des numéros de téléphone au format 123-456-7890, j'ai essayé en supprimant les tirets et en m'assurant que le contenu des cellules soit considéré comme nombres et non comme texte… et ça ne marche toujours pas!
    12000 numéros de téléphone… Grrr !
    0
  3. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
     
    Hello,

    Quelques questions :

    1) Tes numéros sont-ils bien tous de la forme : xxx-xxx-xxxx ?

    2) Les données en double sont-elles :
    - normales : mettre en évidence et conserver ?
    - anormales : supprimer les doublons ?

    3) Les données sont-elles classées sur le n° de téléphone ? sur un autre critère ?
    0
    1. mohkam Messages postés 7 Statut Membre
       
      Bonjour, Armojax.
      1. Il s'agit en fait d'une liste de clients qui figurent sous plusieurs enregistrements (la même compagnie peut avoir deux ou trois «noms») mais conserve le même n° de téléphone. Tous les n° de téléphone sont effectivement au format xxx-xxx-xxxx. Chaque ligne comporte la dénomination, l'adresse, la ville, la province, le code postal, le courriel, l'url, le téléphone et le fax.
      2. Il s'agit d'abord de mettre les doublons en évidence; l'élimination se fera manuellement après le choix de la dénomination (quel nom de compagnie retenir).
      3. À la base, les données sont classées par code postal, mais peuvent être classées selon n'importe quel critère (doubler la colonne du critère, la mettre en colonne A, tri simple par ordre alphanumérique croissant ou décroissant).
      Merci de ton aide !
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. doudou
     
    salut ,
    s'il vous plait pouvez vous me dire comment je puisse faire un tri decroissant de 1383 client/chiffre d'affaire dans excel,
    est ce qui'il existe une formule précise ou je doit faire une programmation VBA
    merci pour une réponse rapide
    0
  6. hicmes
     
    J'ai Un Table De 16 Colone Et 328 Ligne Et Je Veut Trier Par Des Macro Deux Colone Aider Moi SVp
    Excel 2003
    0
  7. karlitodu41 Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   144
     
    bonjour a tous
    bon j'ai une question qui ressemble un peu au dernier topic :

    j'ai une liste de reference de produit fini, en face de chacun une liste de plusieur references de composant

    je voudrais dans un tableaux les produitfini qui possedent au moins deux references identiques (ou 3 ou 4 mais d'abor deux ça serait bien)
    (en fait ça va me servir a rassembler des produit qui ont une nomenclature identique a 2 composant pres)

    merci de votre aide!
    a bientot
    0