|
|
|
|
Configuration: XP - SP2 - Excel 2003
Bonjour,
Inspire-toi de cette faq : http://www.commentcamarche.net/faq/sujet-1258-excel-eviter-les-doublons -- > Nous avons su vous aider ? Alors, aidez-nous, dites-le et -- > • cochez le problème comme résolu. Merci. |
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 ! |
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 ?
|
|
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
|
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 |
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ésultats pour Tri de données dans Excel
Résultats pour Tri de données dans Excel
Résultats pour Tri de données dans Excel
Résultats pour Tri de données dans Excel