biddal
XLDnaute Nouveau
Bonjour,
Alors j'ai 3 fichiers différents Perf1, Perf2 et Rslt.
J'ai une macro dans Rslt qui me copie les données provenant des 2 tableaux identiques des fichiers Perf1 et Perf2 (juste les performances et le nom des sportifs changent, l'intitulé des colonnes sont les mêmes).
Tout cela fonctionne correctement!
Voici le code que j'ai :
Ce que je souhaite maintenant c'est géré les doublons. Mais là je souhaite encore quelque chose de bien précis! En fait les doublons entre Perf1 et Perf2 sont impossible normalement donc je ne vais pas le gérer pour l'instant je verais plus tard ça.
Dans le fonctionnement de ma macro en fait je copie/colle l'intégralité du tableau à chaque fois.
Ex:
Le lundi je lance ma macro il va me copier tout le tableau de Perf1 et celui de Perf2 dans le Rslt
Le mardi après quelques ajouts, je relance cette macro et là je vais recopier encore l'intégralité des 2 tableaux de Perf1 et Perf2 à la suite dans le fichier Rslt!
Et c'est là que ça pose problème je souhaiterais que ma macro avant de coller fasse une recherche de doublon! Si le nom de la personne existe déjà et bien on ne l'ajoute pas à Rslt sauf si la date est plus récente!
Je ne sais pas si mes explications sont assez claires! N'hésitez pas si vous avez besoin de renseignements particuliers pour comprendre ce que je souhaite faire. (Je sais déjà que ma macro actuelle n'est pas optimisée mais elle fonctionne )
Je joins mes 3 fichiers pour l'exemple.
Merci par avance.
Alors j'ai 3 fichiers différents Perf1, Perf2 et Rslt.
J'ai une macro dans Rslt qui me copie les données provenant des 2 tableaux identiques des fichiers Perf1 et Perf2 (juste les performances et le nom des sportifs changent, l'intitulé des colonnes sont les mêmes).
Tout cela fonctionne correctement!
Voici le code que j'ai :
Code:
Sub Bouton1_QuandClic()
Dim LigneCopiageFin As Long
Dim LigneCollage As Long
Dim LigneCopiageFin2 As Long
Dim LigneCollage2 As Long
'Traitement du Fichier 1 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Workbooks.Open Filename:="C:\Documents and Settings\bdu\Bureau\Excel_FSI\Perf1.xls"
LigneCopiageFin = Range("A65535").End(xlUp).Row
Range("A2:G" & LigneCopiageFin).Copy
Windows("Rslt.xls").Activate
LigneCollage = Range("A65535").End(xlUp).Row
LigneCollage = LigneCollage + 1
Range("A" & LigneCollage).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' Traitement du Fichier 2 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Workbooks.Open Filename:="C:\Documents and Settings\bdu\Bureau\Excel_FSI\Perf2.xls"
LigneCopiageFin2 = Range("A65535").End(xlUp).Row
Range("A2:G" & LigneCopiageFin2).Copy
Windows("Rslt.xls").Activate
LigneCollage2 = Range("A65535").End(xlUp).Row
LigneCollage2 = LigneCollage2 + 1
Range("A" & LigneCollage2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' Fermeture des différents fichiers excel sauf celui de la macro '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim n As Integer
n = Workbooks.Count
MsgBox "Il y a " & n & " fichier(s) excel ouvert "
Do Until Workbooks.Count = 1
If Not Workbooks(n).Name = ActiveWorkbook.Name Then Workbooks(n).Close
n = n - 1
Loop
End Sub
Ce que je souhaite maintenant c'est géré les doublons. Mais là je souhaite encore quelque chose de bien précis! En fait les doublons entre Perf1 et Perf2 sont impossible normalement donc je ne vais pas le gérer pour l'instant je verais plus tard ça.
Dans le fonctionnement de ma macro en fait je copie/colle l'intégralité du tableau à chaque fois.
Ex:
Le lundi je lance ma macro il va me copier tout le tableau de Perf1 et celui de Perf2 dans le Rslt
Le mardi après quelques ajouts, je relance cette macro et là je vais recopier encore l'intégralité des 2 tableaux de Perf1 et Perf2 à la suite dans le fichier Rslt!
Et c'est là que ça pose problème je souhaiterais que ma macro avant de coller fasse une recherche de doublon! Si le nom de la personne existe déjà et bien on ne l'ajoute pas à Rslt sauf si la date est plus récente!
Je ne sais pas si mes explications sont assez claires! N'hésitez pas si vous avez besoin de renseignements particuliers pour comprendre ce que je souhaite faire. (Je sais déjà que ma macro actuelle n'est pas optimisée mais elle fonctionne )
Je joins mes 3 fichiers pour l'exemple.
Merci par avance.