je sait que la modif doit se faire sur cette ligne de macro:rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis lemais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
je sait que la modif doit se faire sur cette ligne de macro:
rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis le
mais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
je sait que la modif doit se faire sur cette ligne de macro:rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis lemais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont
pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le
site
d'excel labo, et de frederic sigonneau, et j'essaie toujours de comprend
re
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement
un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui
ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
mercije sait que la modif doit se faire sur cette ligne de macro:rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis
le
mais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont
pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le
site
d'excel labo, et de frederic sigonneau, et j'essaie toujours de comprend
re
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement
un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui
ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
merci
je sait que la modif doit se faire sur cette ligne de macro:
rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis
le
mais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont
pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le
site
d'excel labo, et de frederic sigonneau, et j'essaie toujours de comprend
re
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement
un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui
ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
mercije sait que la modif doit se faire sur cette ligne de macro:rg(K + 1).EntireRow.ClearContents
Tu ne comprends toujours pas pourquoi personne ne veux plus t'aider Rick
? Ton "je sait" (faute d'orthographe = copyright
Urgent-testou-Hali-Phil-Rick qui ne se connaissent pas entre eux) puis
le
mais je n'y arrive pas
as tu une idée?
Ont de quoi désespérer ceux qui ont essayé de t'aider. C'est comme s'il
n'y avait que toi au monde.
La seule chose que tu veux c'est qu'on t'écrive tes macros et que
celles-ci fassent exactement ce que tu as demandé, pour le N° de ligne
que tu veux et pas une autre. Rien d'autre ne t'intéresse, les conseils
que les uns et les autres ont essayé de te donner pour t'aider ne
t'intéressent absolument pas. Tu n'as même pas un mot pour signifier que
tu les as lus.
Tu n'as toujours pas compris quel était l'esprit de ce forum, la notion
d'AIDE t'est inaccessible, tu veux juste qu'on te FOURNISSE. Tu n'as
même pas daigné utiliser les outils qu'on te recommandait pour suivre le
forum de façon plus efficace et conviviale.
Il y a de quoi dégouter les plus acharnés.
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le site
d'excel labo,
leur macro, car je demande souvent des commentaires, pour pouvoir les adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
merci
Misange migrateuse http://www.excelabo.net
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le site
d'excel labo,
leur macro, car je demande souvent des commentaires, pour pouvoir les adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
merci
Misange migrateuse http://www.excelabo.net
attend misange t'exagere, j'ai pas arreté de remercie les personne qui ont pu
m'aider à ce forum.
et d'ailleurs je suis leur conseil, car j'ai recuperer des macro sur le site
d'excel labo,
leur macro, car je demande souvent des commentaires, pour pouvoir les adapter
à mes autres macro, et je leur dit toujours merci,
alors stp n'exagere pas, je susi tres reconnaisant, et grace a vous,
j'apprend de jour en jour de nouvelle chose, j'ai meme acheté dernièrement un
livre sur VBA, mais je suis pas encore expérimentéé à 200%
mais si tu peux voir sur certains fils, je donne des réponse à ceux qui ont
des petit soucis.
alors voila et arreteé de m'insulter, c'est un forum pour s'echanger, et
c'est ce que je fait
merci
Misange migrateuse http://www.excelabo.net
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand j'importe
des données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de l'import
écraser la ligne déja existante quand je repond oui au message(desirez vous
ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand sur ma
ligne 15 j'ai une ligne , et quand je vient faire l'import de la meme ligne
j'ai la macro qui se lance , je choisit oui dans mon message: désirez vous
écraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que je me
retrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon est
détecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser l'ancienne
donnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne HK:HK
rg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un avec
les autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons pour
permettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand j'importe
des données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de l'import
écraser la ligne déja existante quand je repond oui au message(desirez vous
ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand sur ma
ligne 15 j'ai une ligne , et quand je vient faire l'import de la meme ligne
j'ai la macro qui se lance , je choisit oui dans mon message: désirez vous
écraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que je me
retrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon est
détecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser l'ancienne
donnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne HK:HK
rg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un avec
les autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons pour
permettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand j'importe
des données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de l'import
écraser la ligne déja existante quand je repond oui au message(desirez vous
ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand sur ma
ligne 15 j'ai une ligne , et quand je vient faire l'import de la meme ligne
j'ai la macro qui se lance , je choisit oui dans mon message: désirez vous
écraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que je me
retrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon est
détecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser l'ancienne
donnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne HK:HK
rg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un avec
les autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons pour
permettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil ni
d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon coeur
bat à l'idée de découvrir un nouveau post de l'inénarrable Rick ainsi
que les non moins inénarrables réponses de contributeurs courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avec les autres rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2,
1) End With 'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil ni
d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon coeur
bat à l'idée de découvrir un nouveau post de l'inénarrable Rick ainsi
que les non moins inénarrables réponses de contributeurs courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avec les autres rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2,
1) End With 'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil ni
d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon coeur
bat à l'idée de découvrir un nouveau post de l'inénarrable Rick ainsi
que les non moins inénarrables réponses de contributeurs courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avec les autres rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2,
1) End With 'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
Bonjour Thierry
On est quelques uns à fréquenter ce forum depuis de nombreuses années et
à ne pas partager ton amusement. Autant on a pu déconner et se payer
de franches rigolades ENSEMBLE dans le passé, autant ce genre
d'amusements au dépens d'un hurluberlu ou d'un troll est sans aucun
intérêt.
Les expressions québécoises ont eu de nombreuses occasions de se
dévoiler dans d'autres circonstances, plus sympas.
Mettre de l'huile sur le feu a juste pour effet de dégouter ceux qui
viennent ici pour la convivialité. J'imagine bien que tu parles au
second degré mais justement certains ne comprennent déjà pas le premier
degré alors... évite !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 05/05/2005 19:00, :Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil
ni d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon
coeur bat à l'idée de découvrir un nouveau post de l'inénarrable Rick
ainsi que les non moins inénarrables réponses de contributeurs
courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(,
-1).Value 'premier tri de la colonne IU pour regrouper les
doublons les un avec les autres rg.Offset(, -255).Resize(,
256).Sort Key1:=rg(2, 1) End With 'Boucle qui teste chacune des
cellules de la colonnes IU 'selon le choix de l'utilisateur, affecter
une lettre au doublon ou supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
Bonjour Thierry
On est quelques uns à fréquenter ce forum depuis de nombreuses années et
à ne pas partager ton amusement. Autant on a pu déconner et se payer
de franches rigolades ENSEMBLE dans le passé, autant ce genre
d'amusements au dépens d'un hurluberlu ou d'un troll est sans aucun
intérêt.
Les expressions québécoises ont eu de nombreuses occasions de se
dévoiler dans d'autres circonstances, plus sympas.
Mettre de l'huile sur le feu a juste pour effet de dégouter ceux qui
viennent ici pour la convivialité. J'imagine bien que tu parles au
second degré mais justement certains ne comprennent déjà pas le premier
degré alors... évite !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 05/05/2005 19:00, :
Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil
ni d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon
coeur bat à l'idée de découvrir un nouveau post de l'inénarrable Rick
ainsi que les non moins inénarrables réponses de contributeurs
courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(,
-1).Value 'premier tri de la colonne IU pour regrouper les
doublons les un avec les autres rg.Offset(, -255).Resize(,
256).Sort Key1:=rg(2, 1) End With 'Boucle qui teste chacune des
cellules de la colonnes IU 'selon le choix de l'utilisateur, affecter
une lettre au doublon ou supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
Bonjour Thierry
On est quelques uns à fréquenter ce forum depuis de nombreuses années et
à ne pas partager ton amusement. Autant on a pu déconner et se payer
de franches rigolades ENSEMBLE dans le passé, autant ce genre
d'amusements au dépens d'un hurluberlu ou d'un troll est sans aucun
intérêt.
Les expressions québécoises ont eu de nombreuses occasions de se
dévoiler dans d'autres circonstances, plus sympas.
Mettre de l'huile sur le feu a juste pour effet de dégouter ceux qui
viennent ici pour la convivialité. J'imagine bien que tu parles au
second degré mais justement certains ne comprennent déjà pas le premier
degré alors... évite !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 05/05/2005 19:00, :Bonjour le forum !
Je supplie à genoux twinley, clément, jps, misange et consorts de ne
surtout pas décourager le dénommé rick, alias Urgent-testou-Hali-Phil
ni d'ailleurs l'exceptionnel michdenis sans la patience duquel ce
fantastique feuilleton n'apporterait plus chaque jour sa ration
d'adrénaline et de suspense..!!
Depuis environ 1 mois que je fréquente ce forum, chaque matin mon
coeur bat à l'idée de découvrir un nouveau post de l'inénarrable Rick
ainsi que les non moins inénarrables réponses de contributeurs
courroucés !!
Merci donc à Rick de me permettre d'apprendre les plus belles et les
plus imagées des insultes québécoises (merci clément) :-))))))))
J'espère que Rick ne tiendra pas compte du weekend de l'Ascension et
continuera donc de harceler le forum (pauvre michdenis!!)
Heureux les simples d'esprit, le royaume etc.....
@+thierryp :-)))Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe des données sur feuille, la macro se lance et permet de
verifier les différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import écraser la ligne déja existante quand je repond oui au
message(desirez vous ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma ligne 15 j'ai une ligne , et quand je vient faire l'import de
la meme ligne j'ai la macro qui se lance , je choisit oui dans mon
message: désirez vous écraser la ligne. La ligne est effacé mais pas
écrasé à la meme ligne, c'est a dire que je me retrouve avec la ligne
15 à vide et la ligne 16 avec les bonnes données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est détecté. c'est a dire avoir les nouvelle données sur la ligne
15.(ecraser l'ancienne donnée)
ci-joint l'aperçu de la macro: Sub doublons() Dim K As Integer, A As
Integer Dim rg As Range, P As Integer Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False 'Concatenation des colonnes D, E, H,
I, P dans la colonne IV With Worksheets(NomFeuille) Set rg =
.Range("IV15:IV400") rg.FormulaLocal = _ "=" &
UCase(.Range("$D15").Address(0, 0)) & _ "&" &
UCase(.Range("$E15").Address(0, 0)) & "&" _ &
UCase(.Range("$H15").Address(0, 0)) _ & "&" &
UCase(.Range("$I15").Address(0, 0)) & _ "&" &
UCase(.Range("$P15").Address(0, 0)) 'substitution des formules
pour leurs valeurs, dans la colonne HK:HK rg.Value = rg.Value
'dans la colonne IU,place la formule suivante 'qui identifie le
numero de lignes.ceci dans le but de remettre le tableau àla 'fin
dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()" 'Transforme la formule de la
colonne en sa valeur rg.Offset(, -1).Value = rg.Offset(,
-1).Value 'premier tri de la colonne IU pour regrouper les
doublons les un avec les autres rg.Offset(, -255).Resize(,
256).Sort Key1:=rg(2, 1) End With 'Boucle qui teste chacune des
cellules de la colonnes IU 'selon le choix de l'utilisateur, affecter
une lettre au doublon ou supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count A =
WorksheetFunction.CountIf(rg, rg(K + 1, 1)) If A > 1 Then 'si
a>1, il ya doublons 'cette ligne permet de sélectionner la
plage ou sont les doublons pour permettre à l'utilisateur 'de les
visionner Application.GoTo Range("A" & rg(K + 1,
1).Offset(-2).Row), True rg(K + 1,
1).Resize(A).EntireRow.Select 'le message d'alerte If
MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _ vbCritical +
vbYesNo, "Doublons") = vbYes Then rg(K +
1).EntireRow.ClearContents Merci d'avance
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
oups des trucs bizarres dans les copier coller !
d'autant plus curieux que le message enregistré chez moi était correct.
Il faut donc lire dans les deux paragraphes illisbles :
Sur excelabo, on t'a au moins dit 20 fois d'aller lire la page connexion
et de faire en sorte de lire le forum avec outlook express. Que tu ne
puisse pas le faire du boulot passe encore mais de chez toi tu pourrais.
Que ce ne soit pas confortable pour toi de lire le forum sur le web, on
s'en moquerait éperdument si ça ne t'incitait pas à reposter 20 fois les
mêmes questions.
et de frederic sigonneau, et j'essaie toujours de comprend releur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
Et prendre les gens pour des idiots c'est leur dire merci ? Changer de
pseudo tous les 15 jours et dire que tu n'as jamais entendu parler de
Testou ou de Phil c'est respecter les intervenants du forum ? Traire la
vache pour en tirer tout le lait, ça tu sais faire. S'il faut dire merci
pour qu'elle t'en donne encore un litre, tu le fais mais ta
reconnaissance des autres s'arrête là.
oups des trucs bizarres dans les copier coller !
d'autant plus curieux que le message enregistré chez moi était correct.
Il faut donc lire dans les deux paragraphes illisbles :
Sur excelabo, on t'a au moins dit 20 fois d'aller lire la page connexion
et de faire en sorte de lire le forum avec outlook express. Que tu ne
puisse pas le faire du boulot passe encore mais de chez toi tu pourrais.
Que ce ne soit pas confortable pour toi de lire le forum sur le web, on
s'en moquerait éperdument si ça ne t'incitait pas à reposter 20 fois les
mêmes questions.
et de frederic sigonneau, et j'essaie toujours de comprend re
leur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
Et prendre les gens pour des idiots c'est leur dire merci ? Changer de
pseudo tous les 15 jours et dire que tu n'as jamais entendu parler de
Testou ou de Phil c'est respecter les intervenants du forum ? Traire la
vache pour en tirer tout le lait, ça tu sais faire. S'il faut dire merci
pour qu'elle t'en donne encore un litre, tu le fais mais ta
reconnaissance des autres s'arrête là.
oups des trucs bizarres dans les copier coller !
d'autant plus curieux que le message enregistré chez moi était correct.
Il faut donc lire dans les deux paragraphes illisbles :
Sur excelabo, on t'a au moins dit 20 fois d'aller lire la page connexion
et de faire en sorte de lire le forum avec outlook express. Que tu ne
puisse pas le faire du boulot passe encore mais de chez toi tu pourrais.
Que ce ne soit pas confortable pour toi de lire le forum sur le web, on
s'en moquerait éperdument si ça ne t'incitait pas à reposter 20 fois les
mêmes questions.
et de frederic sigonneau, et j'essaie toujours de comprend releur macro, car je demande souvent des commentaires, pour pouvoir les
adapter à mes autres macro, et je leur dit toujours merci,
Et prendre les gens pour des idiots c'est leur dire merci ? Changer de
pseudo tous les 15 jours et dire que tu n'as jamais entendu parler de
Testou ou de Phil c'est respecter les intervenants du forum ? Traire la
vache pour en tirer tout le lait, ça tu sais faire. S'il faut dire merci
pour qu'elle t'en donne encore un litre, tu le fais mais ta
reconnaissance des autres s'arrête là.
ARRANGE TOI TOUT SEUL ET VA-T-EN AU DIABLE MAUDIT PARASITE.
--
On apprend pas à un vieux singe à faire des grimaces
"rick" a écrit dans le message de
news:Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importedes données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'importécraser la ligne déja existante quand je repond oui au
message(desirez vousecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur maligne 15 j'ai une ligne , et quand je vient faire l'import de la
meme lignej'ai la macro qui se lance , je choisit oui dans mon message:
désirez vousécraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire
que je meretrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
estdétecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'anciennedonnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HKrg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
letableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avecles autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les
doublons pourpermettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la
ligne" _& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
ARRANGE TOI TOUT SEUL ET VA-T-EN AU DIABLE MAUDIT PARASITE.
--
On apprend pas à un vieux singe à faire des grimaces
"rick" <rick@discussions.microsoft.com> a écrit dans le message de
news:1AF18702-B07E-4386-BEBA-736FF0C808F4@microsoft.com...
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe
des données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import
écraser la ligne déja existante quand je repond oui au
message(desirez vous
ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma
ligne 15 j'ai une ligne , et quand je vient faire l'import de la
meme ligne
j'ai la macro qui se lance , je choisit oui dans mon message:
désirez vous
écraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire
que je me
retrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est
détecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'ancienne
donnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HK
rg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avec
les autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les
doublons pour
permettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la
ligne" _
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
ARRANGE TOI TOUT SEUL ET VA-T-EN AU DIABLE MAUDIT PARASITE.
--
On apprend pas à un vieux singe à faire des grimaces
"rick" a écrit dans le message de
news:Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importedes données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'importécraser la ligne déja existante quand je repond oui au
message(desirez vousecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur maligne 15 j'ai une ligne , et quand je vient faire l'import de la
meme lignej'ai la macro qui se lance , je choisit oui dans mon message:
désirez vousécraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire
que je meretrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
estdétecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'anciennedonnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HKrg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
letableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avecles autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les
doublons pourpermettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la
ligne" _& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
Bonsoir,
arrête de jouer au con, rick.... aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
petite spécialité de ton coin (tu peux même l'envoyer deux fois, des fois
que notre québécois aime)
jps
"rick" a écrit dans le message de
news:je comprend pas ta réponse?
tu sait quelle est la ligne a corrigé pour écraser et non effacer.
merciBonjour,
c'est une macro pour éviter les doublons de fil que tu devrais mettre
au
point...
à+twinleyBonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importedes données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'importécraser la ligne déja existante quand je repond oui au
message(desirez
vousecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur maligne 15 j'ai une ligne , et quand je vient faire l'import de la meme
lignej'ai la macro qui se lance , je choisit oui dans mon message: désirez
vousécraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que
je meretrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
estdétecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'anciennedonnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HKrg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avecles autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons
pourpermettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne"
_& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
Bonsoir,
arrête de jouer au con, rick.... aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
petite spécialité de ton coin (tu peux même l'envoyer deux fois, des fois
que notre québécois aime)
jps
"rick" <rick@discussions.microsoft.com> a écrit dans le message de
news:7B0DAA83-1257-4C71-8C5D-124B078D94F3@microsoft.com...
je comprend pas ta réponse?
tu sait quelle est la ligne a corrigé pour écraser et non effacer.
merci
Bonjour,
c'est une macro pour éviter les doublons de fil que tu devrais mettre
au
point...
à+twinley
Bonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importe
des données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'import
écraser la ligne déja existante quand je repond oui au
message(desirez
vous
ecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur ma
ligne 15 j'ai une ligne , et quand je vient faire l'import de la meme
ligne
j'ai la macro qui se lance , je choisit oui dans mon message: désirez
vous
écraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que
je me
retrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
est
détecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'ancienne
donnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HK
rg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avec
les autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons
pour
permettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne"
_
& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance
aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
Bonsoir,
arrête de jouer au con, rick.... aujourd'hui, c'est férié et personne ne
travaille, même pas michel à qui, j'espère, tu n'oublieras pas d'envoyer
une
petite spécialité de ton coin (tu peux même l'envoyer deux fois, des fois
que notre québécois aime)
jps
"rick" a écrit dans le message de
news:je comprend pas ta réponse?
tu sait quelle est la ligne a corrigé pour écraser et non effacer.
merciBonjour,
c'est une macro pour éviter les doublons de fil que tu devrais mettre
au
point...
à+twinleyBonjour,
La macro de michdenis, me permet de detecter des doublons, quand
j'importedes données sur feuille, la macro se lance et permet de verifier les
différents doublons suivant la combinaisons de 5 colonnes.
le probleme est que je souhaite, si un doublon est détecté lors de
l'importécraser la ligne déja existante quand je repond oui au
message(desirez
vousecraser la ligne?).
J'ai essayé de faire une modif, mais le probleme par exemple, quand
sur maligne 15 j'ai une ligne , et quand je vient faire l'import de la meme
lignej'ai la macro qui se lance , je choisit oui dans mon message: désirez
vousécraser la ligne.
La ligne est effacé mais pas écrasé à la meme ligne, c'est a dire que
je meretrouve avec la ligne 15 à vide et la ligne 16 avec les bonnes
données.
Savez vous comment faire pour écraser cette ligne 15, si le doublon
estdétecté.
c'est a dire avoir les nouvelle données sur la ligne 15.(ecraser
l'anciennedonnée)
ci-joint l'aperçu de la macro:
Sub doublons()
Dim K As Integer, A As Integer
Dim rg As Range, P As Integer
Dim NomFeuille As String
NomFeuille = "Feuil1" 'à déterminer
Application.EnableEvents = False
'Concatenation des colonnes D, E, H, I, P dans la colonne IV
With Worksheets(NomFeuille)
Set rg = .Range("IV15:IV400")
rg.FormulaLocal = _
"=" & UCase(.Range("$D15").Address(0, 0)) & _
"&" & UCase(.Range("$E15").Address(0, 0)) & "&" _
& UCase(.Range("$H15").Address(0, 0)) _
& "&" & UCase(.Range("$I15").Address(0, 0)) & _
"&" & UCase(.Range("$P15").Address(0, 0))
'substitution des formules pour leurs valeurs, dans la colonne
HK:HKrg.Value = rg.Value
'dans la colonne IU,place la formule suivante
'qui identifie le numero de lignes.ceci dans le but de remettre
le
tableau àla
'fin dans le meme ordre de tri,en se basant sur cette colonne
rg.Offset(, -1).Formula = "=row()"
'Transforme la formule de la colonne en sa valeur
rg.Offset(, -1).Value = rg.Offset(, -1).Value
'premier tri de la colonne IU pour regrouper les doublons les un
avecles autres
rg.Offset(, -255).Resize(, 256).Sort Key1:=rg(2, 1)
End With
'Boucle qui teste chacune des cellules de la colonnes IU
'selon le choix de l'utilisateur, affecter une lettre au doublon ou
supprimer ces doublons
Do While rg(K + 1, 1).Row < rg.Row + rg.Rows.Count
A = WorksheetFunction.CountIf(rg, rg(K + 1, 1))
If A > 1 Then
'si a>1, il ya doublons
'cette ligne permet de sélectionner la plage ou sont les doublons
pourpermettre à l'utilisateur
'de les visionner
Application.GoTo Range("A" & rg(K + 1, 1).Offset(-2).Row), True
rg(K + 1, 1).Resize(A).EntireRow.Select
'le message d'alerte
If MsgBox("il y a des " & A - 1 & " doublon(s) dans la ligne"
_& rg(K + 1).Row & "." & vbCrLf & vbCrLf & _
"désirez vous écraser cette ligne ? ", _
vbCritical + vbYesNo, "Doublons") = vbYes Then
rg(K + 1).EntireRow.ClearContents
Merci d'avance