Bonjour =E0 tous!
Apr=E8s plusieurs proc=E9dures, j'obtiens un fichier avec des=20
donn=E9es en lignes. Je souhaite supprimer certaines=20
cellules redondantes. Je peux avoir d'une centaine =E0=20
plusieurs milliers de lignes.
Exemple:
secteur etablissement n=B0 secteur etablissement nb due oe
10 xxxx 123 10 xxxx 50 25 10
20 yyyy 321 20 yyyy 15 10 50
97 azaa 852 97 azaa 85 52 63
Quelqu'un peut il m'indiquer comment supprimer les=20
cellules en double dans une ligne puis passer =E0 la ligne=20
suivante? Je ne trouve pas de solution =E0 cela sur le net,=20
=E0 moins que je m'y prenne comme un manche.
Cordialement,=20
Ga=EBl
A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce qu'il faut supprimer La colonne entière ?
AV
GaelB
Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
Bonjour Alain!
Je souhaite supprimer les cellules en double sur une
ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2
et E2. Puis l'on passe à la ligne suivante.
J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur.
Cordialement,
Gaël
-----Message d'origine-----
A travers ton exemple on ne comprends pas très bien ce
qui est redondant et ce
Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
AV
Pas du tout sur d'avoir saisi ce que tu entends par "supprimer les cellules en double" Alors à tester :
Sub zzz() For i = 2 To [A65536].End(3).Row If Cells(i, "A") & Cells(i, "B") = Cells(i, "D") & Cells(i, "E") Then Range("A" & i & ":B" & i) = "" End If Next End Sub
AV
Pas du tout sur d'avoir saisi ce que tu entends par "supprimer les cellules en
double"
Alors à tester :
Sub zzz()
For i = 2 To [A65536].End(3).Row
If Cells(i, "A") & Cells(i, "B") = Cells(i, "D") & Cells(i, "E") Then
Range("A" & i & ":B" & i) = ""
End If
Next
End Sub
Pas du tout sur d'avoir saisi ce que tu entends par "supprimer les cellules en double" Alors à tester :
Sub zzz() For i = 2 To [A65536].End(3).Row If Cells(i, "A") & Cells(i, "B") = Cells(i, "D") & Cells(i, "E") Then Range("A" & i & ":B" & i) = "" End If Next End Sub
AV
Frédo P.
Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de mettre en gras les redondances se trouvant au dessus de la cellule sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" & c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font .Bold = True End With Else With c.Font .Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
Bonjour GaelB
Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection
If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then
With c.Font
.Bold = True
End With
Else
With c.Font
.Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 023101c3d926$94dc8350$a101280a@phx.gbl...
Bonjour Alain!
Je souhaite supprimer les cellules en double sur une
ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2
et E2. Puis l'on passe à la ligne suivante.
J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur.
Cordialement,
Gaël
-----Message d'origine-----
A travers ton exemple on ne comprends pas très bien ce
qui est redondant et ce
Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de mettre en gras les redondances se trouvant au dessus de la cellule sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" & c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font .Bold = True End With Else With c.Font .Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
Bonjour Alain! C'est à moi d'être plus clair dans mes explications. Je travaille à partir de 2 fichiers que je trie par ordre croissant de n° établissement, puis je copie colle sur une feuille. Il arrive que pour des raisons que je ne maîtrise pas le nombre de lignes dans les fichiers ne soit pas identique. L'idée est donc d'avoir une procédure qui fasse: si A2 et B2 sont identiques à D2 et E2 alors supprime D2 et E2 puis passe à la ligne suivante, sinon si ce n'est pas le cas passe à la ligne suivante. En tout cas je teste ta proposition. Gaêl
-----Message d'origine----- Pas du tout sur d'avoir saisi ce que tu entends par "supprimer les cellules en
double" Alors à tester :
Sub zzz() For i = 2 To [A65536].End(3).Row If Cells(i, "A") & Cells(i, "B") = Cells (i, "D") & Cells(i, "E") Then
Range("A" & i & ":B" & i) = "" End If Next End Sub
AV
.
Bonjour Alain!
C'est à moi d'être plus clair dans mes explications. Je
travaille à partir de 2 fichiers que je trie par ordre
croissant de n° établissement, puis je copie colle sur une
feuille. Il arrive que pour des raisons que je ne maîtrise
pas le nombre de lignes dans les fichiers ne soit pas
identique. L'idée est donc d'avoir une procédure qui
fasse: si A2 et B2 sont identiques à D2 et E2 alors
supprime D2 et E2 puis passe à la ligne suivante, sinon si
ce n'est pas le cas passe à la ligne suivante.
En tout cas je teste ta proposition.
Gaêl
-----Message d'origine-----
Pas du tout sur d'avoir saisi ce que tu entends
par "supprimer les cellules en
double"
Alors à tester :
Sub zzz()
For i = 2 To [A65536].End(3).Row
If Cells(i, "A") & Cells(i, "B") = Cells
(i, "D") & Cells(i, "E") Then
Range("A" & i & ":B" & i) = ""
End If
Next
End Sub
Bonjour Alain! C'est à moi d'être plus clair dans mes explications. Je travaille à partir de 2 fichiers que je trie par ordre croissant de n° établissement, puis je copie colle sur une feuille. Il arrive que pour des raisons que je ne maîtrise pas le nombre de lignes dans les fichiers ne soit pas identique. L'idée est donc d'avoir une procédure qui fasse: si A2 et B2 sont identiques à D2 et E2 alors supprime D2 et E2 puis passe à la ligne suivante, sinon si ce n'est pas le cas passe à la ligne suivante. En tout cas je teste ta proposition. Gaêl
-----Message d'origine----- Pas du tout sur d'avoir saisi ce que tu entends par "supprimer les cellules en
double" Alors à tester :
Sub zzz() For i = 2 To [A65536].End(3).Row If Cells(i, "A") & Cells(i, "B") = Cells (i, "D") & Cells(i, "E") Then
Range("A" & i & ":B" & i) = "" End If Next End Sub
AV
.
GaelB
Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
.
Bonjour Frédéric!
Je suppose que pour le faire sur la même ligne, j'écris
c.Offset(0, 0.
Je teste et merci.
Gaël
-----Message d'origine-----
Bonjour GaelB
Le code si dessous a mettre dans le code de feuille, a
les propiétés de
mettre en gras les redondances se trouvant au dessus de
la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)
For Each c In Selection
If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address
& ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then
With c.Font
..Bold = True
End With
Else
With c.Font
..Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 023101c3d926$94dc8350$a101280a@phx.gbl...
Bonjour Alain!
Je souhaite supprimer les cellules en double sur une
ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2
et E2. Puis l'on passe à la ligne suivante.
J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur.
Cordialement,
Gaël
-----Message d'origine-----
A travers ton exemple on ne comprends pas très bien ce
qui est redondant et ce
Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
.
Frédo P.
Celle ci regarde sur la ligne les doublons en entrée entr la colonne B et G(2et7) Private Sub Worksheet_Change(ByVal c As Excel.Range)
For Each c In Range(Cells(c.Row, 2), Cells(c.Row, 7)) If Evaluate("or(" & c.Address & "=" & c.Offset(0, 1).Address & ":" & c.Offset(0, 7 - c.Column).Address & ")") Or _ Evaluate("or(" & c.Address & "=" & c.Offset(0, 1 - c.Column).Address & ":" & c.Offset(0, -1).Address & ")") Then With c.Font .Bold = True End With Else With c.Font .Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de news: 08ee01c3d9bd$f70349a0$ Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
.
Celle ci regarde sur la ligne les doublons en entrée entr la colonne B et
G(2et7)
Private Sub Worksheet_Change(ByVal c As Excel.Range)
For Each c In Range(Cells(c.Row, 2), Cells(c.Row, 7))
If Evaluate("or(" & c.Address & "=" & c.Offset(0, 1).Address & ":" &
c.Offset(0, 7 - c.Column).Address & ")") Or _
Evaluate("or(" & c.Address & "=" & c.Offset(0, 1 - c.Column).Address & ":" &
c.Offset(0, -1).Address & ")") Then
With c.Font
.Bold = True
End With
Else
With c.Font
.Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 08ee01c3d9bd$f70349a0$a401280a@phx.gbl...
Bonjour Frédéric!
Je suppose que pour le faire sur la même ligne, j'écris
c.Offset(0, 0.
Je teste et merci.
Gaël
-----Message d'origine-----
Bonjour GaelB
Le code si dessous a mettre dans le code de feuille, a
les propiétés de
mettre en gras les redondances se trouvant au dessus de
la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)
For Each c In Selection
If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address
& ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then
With c.Font
..Bold = True
End With
Else
With c.Font
..Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 023101c3d926$94dc8350$a101280a@phx.gbl...
Bonjour Alain!
Je souhaite supprimer les cellules en double sur une
ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2
et E2. Puis l'on passe à la ligne suivante.
J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur.
Cordialement,
Gaël
-----Message d'origine-----
A travers ton exemple on ne comprends pas très bien ce
qui est redondant et ce
Celle ci regarde sur la ligne les doublons en entrée entr la colonne B et G(2et7) Private Sub Worksheet_Change(ByVal c As Excel.Range)
For Each c In Range(Cells(c.Row, 2), Cells(c.Row, 7)) If Evaluate("or(" & c.Address & "=" & c.Offset(0, 1).Address & ":" & c.Offset(0, 7 - c.Column).Address & ")") Or _ Evaluate("or(" & c.Address & "=" & c.Offset(0, 1 - c.Column).Address & ":" & c.Offset(0, -1).Address & ")") Then With c.Font .Bold = True End With Else With c.Font .Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de news: 08ee01c3d9bd$f70349a0$ Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne, avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
-- Si tu possèdes un identifiant unique par établissement (de sorte que tu n'a qu'à tester cette valeur pour être sûr que c'est celui là et pas un autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu possède une colonne "Identifiant donnée brutes" - tu télécharges l'ensemble de macro complémentaire "morefun" dans laquelle il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page (consacrée d'ailleurs au pb des doublons) http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon" - col1 col2 n° Identifiant dédoublonné 1 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1) 2 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1) 3 etc. .. n
Et pour les autres colonne (Col_donnée_brutes_n) tu rappatries les données avec un =INDEX(Col_donnée_brutes_n;EQUIV(Identifiant_dédoublonné;colonne Identifiant_données_brutes;0))
Y'a peut être plus simple, mais je pense que ça c'est assez "propre".
A+
"GaelB" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:
-- Si tu possèdes un identifiant unique par établissement (de sorte que tu
n'a qu'à tester cette valeur pour être sûr que c'est celui là et pas un
autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu possède une colonne
"Identifiant donnée brutes"
- tu télécharges l'ensemble de macro complémentaire "morefun" dans laquelle
il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page (consacrée d'ailleurs au
pb des doublons)
http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon"
-
col1 col2
n° Identifiant dédoublonné
1 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1)
2 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1)
3 etc.
..
n
Et pour les autres colonne (Col_donnée_brutes_n) tu rappatries les données
avec un
=INDEX(Col_donnée_brutes_n;EQUIV(Identifiant_dédoublonné;colonne
Identifiant_données_brutes;0))
Y'a peut être plus simple, mais je pense que ça c'est assez "propre".
-- Si tu possèdes un identifiant unique par établissement (de sorte que tu n'a qu'à tester cette valeur pour être sûr que c'est celui là et pas un autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu possède une colonne "Identifiant donnée brutes" - tu télécharges l'ensemble de macro complémentaire "morefun" dans laquelle il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page (consacrée d'ailleurs au pb des doublons) http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon" - col1 col2 n° Identifiant dédoublonné 1 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1) 2 =INDEX(VALEURS.UNIQUES(Identifiant_donnée_brut;1);col1) 3 etc. .. n
Et pour les autres colonne (Col_donnée_brutes_n) tu rappatries les données avec un =INDEX(Col_donnée_brutes_n;EQUIV(Identifiant_dédoublonné;colonne Identifiant_données_brutes;0))
Y'a peut être plus simple, mais je pense que ça c'est assez "propre".
A+
GaelB
Bonjour! Merci pour les infos, je vais consulter et mettre en oeuvre. A + GaëlB
-----Message d'origine-----
"GaelB" a écrit dans le message de
news:
Exemple: secteur etablissement n° secteur etablissement nb due oe 10 xxxx 123 10 xxxx 50 25 10
20 yyyy 321 20 yyyy 15 10 50
97 azaa 852 97 azaa 85 52 63
-- Si tu possèdes un identifiant unique par établissement (de sorte que tu
n'a qu'à tester cette valeur pour être sûr que c'est celui là et pas un
autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu possède une colonne
"Identifiant donnée brutes" - tu télécharges l'ensemble de macro complémentaire "morefun" dans laquelle
il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page (consacrée d'ailleurs au
pb des doublons) http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon" - col1 col2 n° Identifiant dédoublonné 1 =INDEX(VALEURS.UNIQUES (Identifiant_donnée_brut;1);col1)
Et pour les autres colonne (Col_donnée_brutes_n) tu rappatries les données
avec un =INDEX(Col_donnée_brutes_n;EQUIV (Identifiant_dédoublonné;colonne
Identifiant_données_brutes;0))
Y'a peut être plus simple, mais je pense que ça c'est assez "propre".
A+
.
Bonjour!
Merci pour les infos, je vais consulter et mettre en
oeuvre.
A +
GaëlB
-----Message d'origine-----
"GaelB" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:
Exemple:
secteur etablissement n° secteur etablissement nb due oe
10 xxxx 123 10 xxxx 50 25
10
20 yyyy 321 20 yyyy 15 10
50
97 azaa 852 97 azaa 85 52
63
-- Si tu possèdes un identifiant unique par établissement
(de sorte que tu
n'a qu'à tester cette valeur pour être sûr que c'est
celui là et pas un
autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu
possède une colonne
"Identifiant donnée brutes"
- tu télécharges l'ensemble de macro
complémentaire "morefun" dans laquelle
il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page
(consacrée d'ailleurs au
pb des doublons)
http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon"
-
col1 col2
n° Identifiant dédoublonné
1 =INDEX(VALEURS.UNIQUES
(Identifiant_donnée_brut;1);col1)
Bonjour! Merci pour les infos, je vais consulter et mettre en oeuvre. A + GaëlB
-----Message d'origine-----
"GaelB" a écrit dans le message de
news:
Exemple: secteur etablissement n° secteur etablissement nb due oe 10 xxxx 123 10 xxxx 50 25 10
20 yyyy 321 20 yyyy 15 10 50
97 azaa 852 97 azaa 85 52 63
-- Si tu possèdes un identifiant unique par établissement (de sorte que tu
n'a qu'à tester cette valeur pour être sûr que c'est celui là et pas un
autre), je serais tenter de procéder comme suit :
- tes données sont sur une feuille "donnée brute". Tu possède une colonne
"Identifiant donnée brutes" - tu télécharges l'ensemble de macro complémentaire "morefun" dans laquelle
il y a une fonction VALEURS.UNIQUES
Tu peux voir un lien vers ce "pack" sur cette page (consacrée d'ailleurs au
pb des doublons) http://longre.free.fr/pages/form/doublons.htm
- tu ouvres une autre feuille "donnnées sans doublon" - col1 col2 n° Identifiant dédoublonné 1 =INDEX(VALEURS.UNIQUES (Identifiant_donnée_brut;1);col1)
c.Offset(0, -1).Address & ")") Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 08ee01c3d9bd$f70349a0$ Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce
qu'il faut supprimer La colonne entière ?
AV
.
.
.
Bonjour Frédéric!
Je teste de ce pas.
A+
GaëlB
-----Message d'origine-----
Celle ci regarde sur la ligne les doublons en entrée entr
la colonne B et
G(2et7)
Private Sub Worksheet_Change(ByVal c As Excel.Range)
For Each c In Range(Cells(c.Row, 2), Cells(c.Row, 7))
If Evaluate("or(" & c.Address & "=" & c.Offset(0,
1).Address & ":" &
c.Offset(0, -1).Address & ")") Then
With c.Font
..Bold = True
End With
Else
With c.Font
..Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 08ee01c3d9bd$f70349a0$a401280a@phx.gbl...
Bonjour Frédéric!
Je suppose que pour le faire sur la même ligne, j'écris
c.Offset(0, 0.
Je teste et merci.
Gaël
-----Message d'origine-----
Bonjour GaelB
Le code si dessous a mettre dans le code de feuille, a
les propiétés de
mettre en gras les redondances se trouvant au dessus de
la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)
For Each c In Selection
If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address
& ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then
With c.Font
..Bold = True
End With
Else
With c.Font
..Bold = False
End With
End If
Next c
End Sub
--
Frédéric
"GaelB" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 023101c3d926$94dc8350$a101280a@phx.gbl...
Bonjour Alain!
Je souhaite supprimer les cellules en double sur une
ligne, secteur et établissement en cellules A2 et B2
après
avoir vérifié quelles correspondent bien aux cellules D2
et E2. Puis l'on passe à la ligne suivante.
J'envisage ceci comme une vérification, ligne après
ligne,
avant de passer à des tri secteur par secteur.
Cordialement,
Gaël
-----Message d'origine-----
A travers ton exemple on ne comprends pas très bien ce
qui est redondant et ce
c.Offset(0, -1).Address & ")") Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 08ee01c3d9bd$f70349a0$ Bonjour Frédéric! Je suppose que pour le faire sur la même ligne, j'écris c.Offset(0, 0. Je teste et merci. Gaël
-----Message d'origine----- Bonjour GaelB Le code si dessous a mettre dans le code de feuille, a les propiétés de
mettre en gras les redondances se trouvant au dessus de la cellule
sélectionnée, si cela peut te servir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For Each c In Selection If Evaluate("or(" & c.Address & "=" & c.End(xlUp).Address & ":" &
c.Offset(-1, 0).Address & ")") and c<>"" Then With c.Font ..Bold = True End With Else With c.Font ..Bold = False End With End If Next c End Sub
-- Frédéric
"GaelB" a écrit dans le message de
news: 023101c3d926$94dc8350$ Bonjour Alain! Je souhaite supprimer les cellules en double sur une ligne, secteur et établissement en cellules A2 et B2 après
avoir vérifié quelles correspondent bien aux cellules D2 et E2. Puis l'on passe à la ligne suivante. J'envisage ceci comme une vérification, ligne après ligne,
avant de passer à des tri secteur par secteur. Cordialement, Gaël
-----Message d'origine----- A travers ton exemple on ne comprends pas très bien ce qui est redondant et ce