Doublons

  • Initiateur de la discussion Fanny
  • Date de début
F

Fanny

Guest
rebonjour à tous,

Savez-vous comment éliminer des doublons lorsqu'une cellule est modifiée?

déjà est ce que cela est-il possible et est-cequ'il est toujours considéré comme doublon si un champ est modifié?

Merci d'avance
 
F

fanny

Guest
je viens de visionner un peu les recherches mais le problèmes c'est que la plupart ne me concerne pas trop car pour moi je ne sais même pas si ils sont considérés comme des doublons car un champs est modifié et je dois faire cette extraction sans utiliser de VBA.

Merci
 

2passage

XLDnaute Impliqué
Bonjour,

Je ne sais pas si j'ai tout compris et si ça te suffira, mais voilà deja un debut de solution en tout cas.


A+ [file name=dedoublonne.zip size=5754]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dedoublonne.zip[/file]
 

Pièces jointes

  • dedoublonne.zip
    5.6 KB · Affichages: 40
F

Fanny

Guest
en faite ca ressemble un peu à ca [file name=Classeur1_20050628155720.zip size=1459]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20050628155720.zip[/file]
 

Pièces jointes

  • Classeur1_20050628155720.zip
    1.4 KB · Affichages: 33
F

Fanny

Guest
C'est une Base de données clients en fait avec plusieurs champs cette base est envoyée à quelqu'un qui la complète et nous la renvoie pui on rappatrie cette base dans celle d'origine (car on n'envoit pas toute la base juste quelques lignes), et évidemment des doublons apparaissent mais avec un champ en plus donc sont ils toujours considérés comme doublons? si oui comment peut-on les éliminer de façon rapide?

Merci
 

Hervé

XLDnaute Barbatruc
Bonjour fanny, jordan, 2passage, re le forum

:)

Tu donnes pas beaucoup de précision fanny

J'ai compris que tu voulais dédoublonner des lignes et retourner les lignes sans doublon ayant le mot acheté en derniere colonne.

regarde en pièce jointe, mais je doute fort que ce soit ceci, au regard du peu d'élément que nous avons.

Si j'ai tout faux, remet une pièce jointe, avec en feuille 1 ce que tu as, et en feuille 2 ce que tu veux.

Et un peu plus de 2 lignes STP.

Si j'ai tout bon, je m'en vais faire brûler un cierge auprès de sainte xld, patronne des âmes perdus d'excel :)

dans la pièce jointe les données dédoublonner sont renvoyer en feuille 2.

le code VBA doit etre simplifiable, mais j'ai pas trouvé.

Salut
 

Hervé

XLDnaute Barbatruc
bonsoir tout le monde

ben j'oubli de joindre mon fichier, et personne me dit rien :)

alors le voici.

salut
[file name=fanny.zip size=9151]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/fanny.zip[/file]
 

Pièces jointes

  • fanny.zip
    1.4 KB · Affichages: 38
  • fanny.zip
    1.4 KB · Affichages: 30
  • fanny.zip
    1.4 KB · Affichages: 32
F

Fanny

Guest
bonjour à tout le monde,

je donne suite aux réponses que je viens de voir qui dates de hier soir et bien hervé tu peux aller le bruler ton cierge car c'est tout à fait ça qu'il faut que je fasse mais peux tu m'expliquer la procédure à suivre pour éliminer de cette façon ces doublons?

Merci beaucoup
 

Hervé

XLDnaute Barbatruc
Bonjour fanny, jordan, 2passage
re le forum

Fanny, content que ceci te convienne (j'ai senti le souffle du zop dans mon dos :) )

Je te remet le code un peu simplifier (vraiment un peu) :

ce qu'il te faut adapter dans ce code :

c'est la plage des lignes :

tablo = Range('a1:f' & Range('a65536').End(xlUp).Row)

si tes données vont de la plage b5 à h??? par exemple, alors :

tablo = Range('b5:h' & Range('b65536').End(xlUp).Row)

Le nom de la feuille pour le renvoi (2 fois) :

Sheets('feuil2')

il faut toujours que le mot acheté soit en derniere colonne;

Sub Bouton1_QuandClic()
Dim tablo As Variant
Dim data As Collection
Dim i As Integer, j As Byte
Dim x As Byte, compteur As Byte, k As Byte

tablo = Range('a1:f' & Range('a65536').End(xlUp).Row)

Set data = New Collection

On Error Resume Next
For i = 1 To UBound(tablo)
    data.Add CStr(tablo(i, 1)), CStr(tablo(i, 1))
Next i
On Error Resume Next

For i = 1 To data.Count
   
For j = 1 To UBound(tablo, 1)
       
If data.Item(i) = tablo(j, 1) Then
            compteur = compteur + 1
       
End If
   
Next j
   
For j = 1 To UBound(tablo, 1)
       
If compteur > 1 Then
           
If data.Item(i) = tablo(j, 1) And _
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(j, UBound(tablo, 2)) <> ''
Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x = x + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
For k = 1 To UBound(tablo, 2)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sheets('feuil2').Cells(x, k) = tablo(j, k)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Next k
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
Else
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If data.Item(i) = tablo(j, 1) Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x = x + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
For k = 1 To UBound(tablo, 2)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sheets('feuil2').Cells(x, k) = tablo(j, k)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Next k
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
Next j
compteur = 0
Next i
End Sub

En espérant ne pas avoir été trop long.

Salut
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548