Excel et les doublons [resolu]

Excel et les doublons [resolu] - Logiciels - Windows & Software

Marsh Posté le 11-06-2006 à 10:50:39    

Bonjour, j'ai un fichier Excel de 6415 lignes et 2 colonnes et j'aimerai savoir comment peut-on supprimmer les cellules en double ou les lignes en double.
 
Merci (parce que 6000 lignes à supprimer à la main c'est long)


Message édité par Chocobo Kajika le 12-06-2006 à 10:35:22
Reply

Marsh Posté le 11-06-2006 à 10:50:39   

Reply

Marsh Posté le 11-06-2006 à 10:52:34    

vois du côté de la fonction recherchev ;)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 11-06-2006 à 12:40:46    

Bonjour  (ça ne fait pas de mal)
 
Cette ma cro pourra peut-être t'aider
 
Sub Macrosupprimelesdoublons()
For i = 1 To 6415
For j = 1 To 2
If Cells(i, j).Value = Cells(i + 1, j).Value Then
Rows(i).Delete
End If
Next j
Next i
End Sub
 
@+

Reply

Marsh Posté le 11-06-2006 à 12:44:25    

Re,
 
Tu n'as pas précisé si les lignes qui doublent se suivent ou non. Si ce n'est pas le cas, trie ton tableau afin de réunir les lignes identiques. Je pense que la macro devrait fonctionnet alors. Fias une copie avant par précaution.

Reply

Marsh Posté le 11-06-2006 à 12:51:33    

Rere,
 
Filtre élaboré. Tu sélectionnes ta plage. Tu copies vers un autre emplacement c'est-à-dire sur une plage externe à ta plage d'origine. Tu coches la case extraction sans doublon.

Reply

Marsh Posté le 11-06-2006 à 13:39:24    

Les macros je connais pas mais bon en cherchant un peu j'en ai créé une en copiant le code dans la description.
Maintenant je selectionne un echantillon de ligne et j'execute la macro, il me met: Erreur d'execution '28' Espace pile insuffisant.
Je clique sur debogage et là il me met (en surlignant en jaune la ligne jaune):
 

Citation :

Sub Macro2()
'
' Macro2 Macro
' Sub Macrosupprimelesdoublons()  For i = 1 To 6415  For j = 1 To 2  If Cells(i, j).Value = Cells(i + 1, j).Value Then  Rows(i).Delete  End If  Next j  Next i  End Sub
'
' Touche de raccourci du clavier: Ctrl+k
'
    Range("A2:B21" ).Select
    Application.CutCopyMode = False
   Application.Run "liste2.xls!Macro2"
    Selection.Copy
    Sheets("Feuil1" ).Select
    Application.CutCopyMode = False
    Rows("2:29" ).Select
    Application.Run "liste2.xls!Macro2"
    Rows("1:124" ).Select
End Sub


 
 
PS: mes lignes en double ce suivent.


Message édité par Chocobo Kajika le 11-06-2006 à 13:42:54
Reply

Marsh Posté le 11-06-2006 à 13:49:17    

Forcément, essaye de comprendre un peu ce qui se passe :
Tu exécutes la macro Macro2, et sur ta ligne en jaune, elle se rappelle elle même.... Comment tu veux arriver au bout de l'exécution ?


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 11-06-2006 à 14:02:38    

Effectivement, c'est le serpent qui se mord la queue. Pourquoi, par ailleurs, l'instruction suivante:Sheets("Feuil1" ).Select? La macro se fait de toute façon sur la feuille en cours. Ensuite, si je comprends bien, tu coupes. Tu dois coller: il te manque une instruction du genre Paste.
Mais est-ce que tu as essayé par aileurs mon code ou le filtre élaboré. Tu as deux colonnes: A et B, si j'ai bien compris. Tu vas coller en D2 par exemple sans doublon.

Reply

Marsh Posté le 11-06-2006 à 14:07:25    

Autant pour moi (ou au temps pour moi?)
 
Tu ne coupes pas pour coller sur un autre emplacement. Tu veux simplement couper les doublons, autrement dit les supprimer, c'est ça?
Mais pourquoi les instructions:
Rows("2:29" ).Select
Rows("1:124" ).Select  
Si tu sélectionnes des plages, c'est dans un but.

Reply

Marsh Posté le 11-06-2006 à 16:21:09    

Bonsoir,
Que faut-il supprimer?
 
 Les lignes dont colonne1 & colonne 2 portent des doublons
 Les lignes dont colonne1 ou colonne 2 portent des doublons  
 Les cellules de la colonne 1 qui ont des doublons dans la colonne "1 et 2", "1 ou 2" , "1 seulement" "2 seulement"? La suppression de la cellule entrainant un décallage vers le haut des cellules de la colonne ou un décallage vers la gauche des cellules de la ligne ou suppresion de la ligne?
Un fichier exemple (sans trahir la confidentialité serait bienvenu)
Cordialement

Reply

Marsh Posté le 11-06-2006 à 16:21:09   

Reply

Marsh Posté le 11-06-2006 à 16:58:49    

J'y connais rien du tout en macros.
Un echantillon de ma liste:
http://img77.imageshack.us/img77/9783/image19ae.jpg
Donc vous voyez ce que je veux supprimer je pense.

Reply

Marsh Posté le 11-06-2006 à 17:23:51    

Re,
 
C'est ce que je te disais. Tu sélectionnes la cellule C1. Tu vas dans Données/Filtrer/Filtre élaboré. Tu coches l'option Copier vers un autre emplacement. Tu vois dans la zone Plage: ta zone $A$1:$B$6415. Dans Zone de critères, tu vois: $C$1. Pou remplir Copier dans: il te suffit simplement de cliquer sur la cellule C1. Tu coches exxtraction sans doublon et tu cliques sur OK.Ensuite, tu sélectionne tes colonnes Cet D. Tu coupes. Tu cliques sur la cellule A1 et tu colles afin d'éviter d'avoir le doublon A1:B6415 C1...

Reply

Marsh Posté le 11-06-2006 à 21:19:10    

:love: merci beaucoup
encore beaucoup de ligne mais le reste doit pouvoir se faire à la main assez facilement.

Reply

Marsh Posté le 12-06-2006 à 08:30:10    

Si la ou les solutions fonctionnent, merci de mettre un petit résolu. Ça fait toujours plaisir mais surtout ça peut être utile pour les autres membres qui sont intéressés.Si le filtre élaboré ne marche pas complètement, essaie le code:
Sub Macrosupprimelesdoublons()  
For i = 1 To 6415  
For j = 1 To 2  
If Cells(i, j).Value = Cells(i + 1, j).Value Then  
Rows(i).Delete  
End If  
Next j  
Next i  
End Sub  
 
Il te suffit juste de le coller dans Outils/Macro/Macros/Pas à pas détaillé.Ensuite, tu lances la macro en allant dans Outils/Macro/Tu sélectionnes Macrosupprimelesdoublons() et tu cliques sur Exécuter.
Voili, voilou

Reply

Marsh Posté le 12-06-2006 à 08:44:23    

Bonjour,
ACDC c'est un groupe? Si oui, il a peut-être plusieurs titres.
Dans ce cas un doublon serait à calculer sur cells(i,j)&cells(i,j+1)  ?
A noter, je n'y connais rien en musique actuelle
Cordialement

Reply

Marsh Posté le 12-06-2006 à 15:26:27    

une autre questions pour finir ma liste, comment puis-je deplacer une selection multiple de 1 case vers le bas et 1 vers la gauche?

Reply

Marsh Posté le 12-06-2006 à 15:32:12    

Je ne comprends pas vraiment mais as-tu essayé Insertion/Cellules/Décaler les cellules?

Reply

Marsh Posté le 13-06-2006 à 16:09:13    

finalement j'ai fait à la main, mais je le saurait pour la prochaine fois.

Reply

Marsh Posté le 13-06-2006 à 16:27:54    

Bonsoir,  
Dommage, TAM136 t'avait donné un bon tuyau
Cordialement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed