Re : Tourver les lignes en doubles
Re,
Désolé, j'ai donc compris de travers. Sur quels critères allez vous vous basez pour définir que deux lignes sont en doublon ? Si je comprends bien, - pas gagné -, vous n'envisagez pas de données "corrompues" dans votre tableau, votre tableau est par définition correct ?
J'ai du mal à me comprendre moi même alors "je ne jette pas la pierre" !
Je parle de CP (abréviation de carte postale) : ce sont des photos à l'origine ; plusieurs éditeurs peuvent avoir utilisés la même. Bien que ce soit la même photo, je les considèrent comme différentes (j'utilise la colonne T que j'intitule "synonyme" afin de me permettre de faire le lien entre ces mêmes photos.
Je devrais peut être formuler ma question d'une manière différente : dans une liste (pouvant être modifier : je pense à la fonction "Données" puis "Trier" dans une colonne permettant ainsi de modifier l'ordre ! Les lignes identiques 502 et 2550 vont changer de place : Je cherche à trouver les doublons : je ne trouve meilleur mot ! La seule corruption des données serait le résultat d'une de mes erreurs !
J'ai des doubles, certaines CP, je connais leur existence. Que de cas ! La colonne M où je note X sur la première ligne (de titre pour moi : la ligne 1) : non ce n'est pas une inconnu, le X représente le symbole de la multiplication : supérieur à 0 : j'ai, inférieur ; je n'ai pas (je voudrais l'acheter) ; lorsqu'il y a une virgule, (je viens de commencer une modification) le ",1" indique le fait que cette CP est écrite (ou plus précisément qu'elle n'est pas "vierge" qualifié une CP agé de 100 ans comme étant neuve ... !). Puis le "-1" je ne connais pas de vendeur, "-2" je connais un vendeur !
(+)1 CP à garder, et 2 = double (possibilité de céder).
Si c'est le cas et que le tableau est de taille raisonnable (7000 lignes me semble raisonnable si il s'agit d'une opération ponctuelle ou peu fréquente) pourquoi ne pas boucler simplement :
Pour chaque ligne on compare à toutes les lignes situées dessous. On passe à la 2ème etc... Et on note les lignes doublons dans un tableau. Par exemple si 2 lignes sont en doublon quand les colonnes 3 , 7 et 9 sont identiques :
Vite fait et à main levée (donc pas de balises)
c=0
for i = 1 to 7000
s = cells(i,3) & cells(i,7) & cells(i,9)
for j = i+1 to 7000
t = cells(j,3) & cells(j,7) & cells(j,9)
if s=t then
c=c+1
redim preserve TableauDoublon(1 to c)
TableauDoublon(c)=j
exit for 'pas la peine de continuer puisque la ligne j sera plus tard une ligne i
end if
next j
next i
TableauDoublon devrait contenir en sortie toutes les lignes doublons d'une précédente située plus haut.
Cordialement
KD
J'aime beaucoup la piste que vous me proposez ; reste à l'adapter convenablement !
Je note que le message publié ne montre pas les "tabulations" indiquées dans votre message ! Tout se retrouve centré à gauche sur ce forum ! En éditant le message, les tabulations sont présentes : ne pas tomber dans ce "piège", Ken, je ne m'adresse pas à vous mais aux autres lecteurs.