OVH Cloud OVH Cloud

CONCATENER POUR DEDOUBLONNAGE

8 réponses
Avatar
ed
Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed

8 réponses

Avatar
anonymousA
Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+

Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed


Avatar
ed
Ben c'est parce que je me disais que c'était plus "simple" et aussi parce que
mes deux feuilles représentent environ 30 000 lignes a comparer... et que
jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi en
MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Cordialement
ed


Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+

Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed





Avatar
anonymousA
Je comprends. Là j'ai pas trop le temps mais je suis sur q'un
contributeur te répondra rapidement.

A+


Ben c'est parce que je me disais que c'était plus "simple" et aussi parce que
mes deux feuilles représentent environ 30 000 lignes a comparer... et que
jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi en
MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Cordialement
ed



Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+


Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed







Avatar
Jacky
Bonjour,
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Ceci alors.... peut-être.

Sur 2 x 30 000 lignes, faudra pas être pressé ;o)
'---------
Sub jj()
Application.ScreenUpdating = False
For i = 1 To 100 '*****Lignes à adapter****
x = Sheets("feuil1").Range("b" & i) & Range("c" & i) & Range("g" & i) &
Range("h" & i) & Range("i" & i) & Range("j" & i)
For j = 1 To 100
y = Sheets("feuil2").Range("b" & j) & Range("c" & j) & Range("g" & j) &
Range("h" & j) & Range("i" & j) & Range("j" & j)
If x = y And x <> "" Then Sheets("feuil1").Range("a" & i & ":j" &
i).Interior.ColorIndex = 3
Next
Next
End Sub
'----------
Salutations
JJ


"ed" a écrit dans le message de
news:
Ben c'est parce que je me disais que c'était plus "simple" et aussi parce
que

mes deux feuilles représentent environ 30 000 lignes a comparer... et que
jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi
en

MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Cordialement
ed


Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+

Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de
colonnes à



comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives
et



les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout
ça !!)



puis que les lignes de la feuille 1 apparaissent en couleur qd elles
sont en



double de la feuille 2.
Comment faire?
Merci d'avance
ed







Avatar
anonymousA
Ceci dit après réflexion et essai, j'ai testé sur 30000 lignes dans 2
feuilles différentes avec concaténation et MEFC et l'opération a été
quasi instantanée
Je ne saurais donc que te conseiller l'utilisation de celle-ci. Pour te
donner une idée de la méthode que j'ai utilisée.En feuille1, J'ai mis
des infos dansles colonnes A à E et dans la colonne F j'ai mis une
formule ¡&B1&C1&D1&E1 puis j'ai copié cette formule sur les 29999
lignes suivnates.J'ai nommé la plage F1 à F30000 liste. Pour les
formules, j'ai fait la même chose sur la feuille 2.
Ensuite en feuille 2 à la cellule F1, j'ai écrit la MEFC suivante
=NB.SI(liste1;$E1)>1 et je l'ai mise en rouge gras. Ensuite je n'ai eu
quà copier cette MEFC sur la plage F2:F30000 de la feuille 2 et du coup
je peux repérer les items de la feuille1 qui apparaissent plus d'une
fois et sont identiques à 1 item de la feuille 2.
C'est à adapter, bien sur, mais c'est très rapide.

A+

Ben c'est parce que je me disais que c'était plus "simple" et aussi parce que
mes deux feuilles représentent environ 30 000 lignes a comparer... et que
jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi en
MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Cordialement
ed



Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+


Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed







Avatar
Jacky
Re...
Oubli le code précédent il n'est pas correct :o((
'--------
Sub jj()
Application.ScreenUpdating = False
For i = 1 To 10 '*****Lignes à adapter****
With Sheets("Feuil1")
x = .Range("b" & i) & .Range("c" & i) & .Range("g" & i) & .Range("h" & i)
& .Range("i" & i) & .Range("j" & i)
End With
For j = 1 To 10
With Sheets("Feuil2")
y = .Range("b" & j) & .Range("c" & j) & .Range("g" & j) & .Range("h" &
j) & .Range("i" & j) & .Range("j" & j)
End With
If x = y And x <> "" Then
Sheets("feuil1").Range("a" & i & ":j" & i).Interior.ColorIndex = 3
End If
Next
Next
End Sub
'-----------
Et suivre le conseil d'anonymousA, sa solution qui est bien plus rapide.
JJ

"Jacky" a écrit dans le message de
news:
Bonjour,
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne
pas


avec le pas à pas...
Ceci alors.... peut-être.

Sur 2 x 30 000 lignes, faudra pas être pressé ;o)
'---------
Sub jj()
Application.ScreenUpdating = False
For i = 1 To 100 '*****Lignes à adapter****
x = Sheets("feuil1").Range("b" & i) & Range("c" & i) & Range("g" & i) &
Range("h" & i) & Range("i" & i) & Range("j" & i)
For j = 1 To 100
y = Sheets("feuil2").Range("b" & j) & Range("c" & j) & Range("g" & j) &
Range("h" & j) & Range("i" & j) & Range("j" & j)
If x = y And x <> "" Then Sheets("feuil1").Range("a" & i & ":j" &
i).Interior.ColorIndex = 3
Next
Next
End Sub
'----------
Salutations
JJ


"ed" a écrit dans le message de
news:
Ben c'est parce que je me disais que c'était plus "simple" et aussi
parce


que
mes deux feuilles représentent environ 30 000 lignes a comparer... et
que


jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi
en

MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne
pas


avec le pas à pas...
Cordialement
ed


Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille
concaténation



dans une cellule des 6 autres et ce dans chaque feuille puis ensuite
une



bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à
des



comparaisons d'une feuille à l'autre qu'en utilisant des plages
nommées.




A+

Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de
colonnes à



comparer...
Je voudrais pouvoir par macro, concatener des cellules
représentatives




et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout
ça !!)



puis que les lignes de la feuille 1 apparaissent en couleur qd elles
sont en



double de la feuille 2.
Comment faire?
Merci d'avance
ed











Avatar
ed
Merci à vous deux ! Comme vous avez pu le constater, les tests ont été un peu
longs... ça rame pas mal pour boucler sur vba. Quant à la MEFC,
définitivement, je ne suis pas doué. Rien ne se colore...
Avec la macro, quelques heures après :-)) j'ai mes lignes coloriées.

Pour faire plus rapide, en réalité et je ne sais pas si cela accélère les
choses mais, j'ai créé une colonne où j'ai concaténé les valeurs et je
compare les deux colonnes uniquement.
Cordialement
ed


Ceci dit après réflexion et essai, j'ai testé sur 30000 lignes dans 2
feuilles différentes avec concaténation et MEFC et l'opération a été
quasi instantanée
Je ne saurais donc que te conseiller l'utilisation de celle-ci. Pour te
donner une idée de la méthode que j'ai utilisée.En feuille1, J'ai mis
des infos dansles colonnes A à E et dans la colonne F j'ai mis une
formule ¡&B1&C1&D1&E1 puis j'ai copié cette formule sur les 29999
lignes suivnates.J'ai nommé la plage F1 à F30000 liste. Pour les
formules, j'ai fait la même chose sur la feuille 2.
Ensuite en feuille 2 à la cellule F1, j'ai écrit la MEFC suivante
=NB.SI(liste1;$E1)>1 et je l'ai mise en rouge gras. Ensuite je n'ai eu
quà copier cette MEFC sur la plage F2:F30000 de la feuille 2 et du coup
je peux repérer les items de la feuille1 qui apparaissent plus d'une
fois et sont identiques à 1 item de la feuille 2.
C'est à adapter, bien sur, mais c'est très rapide.

A+

Ben c'est parce que je me disais que c'était plus "simple" et aussi parce que
mes deux feuilles représentent environ 30 000 lignes a comparer... et que
jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul aussi en
MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne pas
avec le pas à pas...
Cordialement
ed



Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille concaténation
dans une cellule des 6 autres et ce dans chaque feuille puis ensuite une
bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à des
comparaisons d'une feuille à l'autre qu'en utilisant des plages nommées.

A+


Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de colonnes à
comparer...
Je voudrais pouvoir par macro, concatener des cellules représentatives et
les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout ça !!)
puis que les lignes de la feuille 1 apparaissent en couleur qd elles sont en
double de la feuille 2.
Comment faire?
Merci d'avance
ed










Avatar
Jacky
Re...
Avec un "exit for", cela accélère un peu en vba
J'ai fait un test sur 30 000*2
4,30 mn avec un pc très moyen.
Epluche la proposition d'anonymousA
'----------
Sub jj()
Application.ScreenUpdating = False
For i = 1 To 30 '*****Lignes à adapter****
With Sheets("Feuil1")
x = .Range("b" & i) & .Range("c" & i) & .Range("g" & i) & .Range("h" & i)
& .Range("i" & i) & .Range("j" & i)
End With
For j = 1 To 30
With Sheets("Feuil2")
y = .Range("b" & j) & .Range("c" & j) & .Range("g" & j) & .Range("h" &
j) & .Range("i" & j) & .Range("j" & j)
End With
If x = "" Then Exit For
If x = y Then
Sheets("feuil1").Range("a" & i & ":j" & i).Interior.ColorIndex = 3
End If
Next
Next
End Sub
'---------
JJ

"ed" a écrit dans le message de
news:
Merci à vous deux ! Comme vous avez pu le constater, les tests ont été un
peu

longs... ça rame pas mal pour boucler sur vba. Quant à la MEFC,
définitivement, je ne suis pas doué. Rien ne se colore...
Avec la macro, quelques heures après :-)) j'ai mes lignes coloriées.

Pour faire plus rapide, en réalité et je ne sais pas si cela accélère les
choses mais, j'ai créé une colonne où j'ai concaténé les valeurs et je
compare les deux colonnes uniquement.
Cordialement
ed


Ceci dit après réflexion et essai, j'ai testé sur 30000 lignes dans 2
feuilles différentes avec concaténation et MEFC et l'opération a été
quasi instantanée
Je ne saurais donc que te conseiller l'utilisation de celle-ci. Pour te
donner une idée de la méthode que j'ai utilisée.En feuille1, J'ai mis
des infos dansles colonnes A à E et dans la colonne F j'ai mis une
formule ¡&B1&C1&D1&E1 puis j'ai copié cette formule sur les 29999
lignes suivnates.J'ai nommé la plage F1 à F30000 liste. Pour les
formules, j'ai fait la même chose sur la feuille 2.
Ensuite en feuille 2 à la cellule F1, j'ai écrit la MEFC suivante
=NB.SI(liste1;$E1)>1 et je l'ai mise en rouge gras. Ensuite je n'ai eu
quà copier cette MEFC sur la plage F2:F30000 de la feuille 2 et du coup
je peux repérer les items de la feuille1 qui apparaissent plus d'une
fois et sont identiques à 1 item de la feuille 2.
C'est à adapter, bien sur, mais c'est très rapide.

A+

Ben c'est parce que je me disais que c'était plus "simple" et aussi
parce que



mes deux feuilles représentent environ 30 000 lignes a comparer... et
que



jusqu'à présent la MFEC n'avait pas été concluante... [des heures à
attendre... pour un résultat faux] peut être parce que je suis nul
aussi en



MFEC.
Au moins avec vba, je peux essayer de comprendre ce qui ne fonctionne
pas



avec le pas à pas...
Cordialement
ed



Bonjour,

Quel interet de passer par une macro ?. Une bonne vieille
concaténation




dans une cellule des 6 autres et ce dans chaque feuille puis ensuite
une




bonne vieille Mise en Forme conditionelle sur une condition NB.SI
devrait faire l'affaire , moyennnant au passage la définition d'un nom
pour la plage de cellules de la feuille 2 car la MFEC ne se prête à
des




comparaisons d'une feuille à l'autre qu'en utilisant des plages
nommées.





A+


Bonjour,
Je suis toujours avec mes histoires de doublons ...
J'ai un fichier et deux feuilles, même format , même nombre de
colonnes à





comparer...
Je voudrais pouvoir par macro, concatener des cellules
représentatives et





les comparer (par exemple, comparer B & C & G & H & I & J -oui, tout
ça !!)





puis que les lignes de la feuille 1 apparaissent en couleur qd elles
sont en





double de la feuille 2.
Comment faire?
Merci d'avance
ed