Rechercher : dans
Par :

Tri de données dans Excel

Dernière réponse le 8 jan 2009 à 23:31:15 Kamal, le 3 mar 2006 à 22:33:01 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Tri de données dans Excel » dans :
[Excel] Trier sur les lignes (horizontalement), non les colonnes VoirMicrosoft Excel est configuré par défaut pour réaliser un tri sur les colonnes (Données / Trier). Pour trier les données horizontalement, il suffit de sélectionner les données à trier, puis de cliquer sur le bouton Options et, dans le panneau...
Télécharger MOREFUNC (Macro complémentaire EXCEL) VoirMorefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont compatibles avec Excel 95 à 2007. Elles ne sont pas portables sur d'autres plate-formes que Windows, ni sur d'autres...
Mise en forme de données VoirStyles de données Que la cellule contienne une valeur littérale saisie par vous-même ou le résultat d’une formule, vous affectez un style aux données de cette cellule en définissant ce que l’on appelle le format de la cellule : cela conditionne...

1

Gihef, le 4 mar 2006 à 00:26:58

Bonjour,

Inspire-toi de cette faq :
http://www.commentcamarche.net/faq/sujet-1258-excel-eviter-l­es-doublons
-- > Nous avons su vous aider ? Alors, aidez-nous, dites-le et
-- > • cochez le problème comme résolu. Merci.

Répondre à Gihef

2

mohkam, le 4 mar 2006 à 05:15:16

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 !

Répondre à mohkam

3

Armojax, le 4 mar 2006 à 14:11:59

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 ?

Répondre à Armojax

4

mohkam, le 4 mar 2006 à 22:11:42

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 !

Répondre à mohkam

5

Armojax, le 5 mar 2006 à 10:25:59
  • +2

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


Répondre à Armojax

6

mohkam, le 5 mar 2006 à 17:40:07

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 !

Répondre à mohkam

7

Armojax, le 5 mar 2006 à 17:44:23
  • +1

Bon dimanche à toi. D'autant plus qu'à Montréal il en reste davantage qu'ici !

Répondre à Armojax

8

greenlittleman, le 9 aoû 2007 à 13:32:54
  • +1

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...

Répondre à greenlittleman

11

carob, le 18 sep 2008 à 09:44:28
  • +1

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

Répondre à carob

9

doudou, le 8 avr 2008 à 16:36:39

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

Répondre à doudou

10

hicmes, le 18 jun 2008 à 10:34:07

J'ai Un Table De 16 Colone Et 328 Ligne Et Je Veut Trier Par Des Macro Deux Colone Aider Moi SVp
Excel 2003

Répondre à hicmes

12

 karlitodu41, le 8 jan 2009 à 23:31:15

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

Répondre à karlitodu41