bdv68 a écrit :
Bonsoir,
je pense que je devrais m'en sortir...
merci pour l'aide
|
Je propose cette bidouille
1) Faire une copie des deux fichiers et travailler sur les copies.
A)Introduire la macro "cherche" dans le fichier 8000
remplacer le 999 de la ligne For n = 0 to 999 par le nombre exact des 1000
Sub cherche()
'
' cherche Macro
' Macro enregistrée le 08/04/2006 par PAPOU
'
'
Range("A1" ).Activate
ActiveCell.CurrentRegion.Select
'MsgBox ActiveCell.CurrentRegion.Rows.Count
nombrel = ActiveCell.CurrentRegion.Rows.Count
For n = 0 To 999
Range("J1" ).Offset(n, 0).Select
nbachercher = Selection.Value
If (Not IsNull(nbachercher)) And (Not IsEmpty(nbachercher)) And Not nbachercher = "" Then
Range("h:h" ).Select
With Selection
Set c = .Find(nbachercher, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, 1).Value = n + 1
'c.Interior.ColorIndex = 4
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End If
Next n
End Sub
B)Pour concaténer voir 2) et 3) plus bas: soit le faire à la main soit :
a)introduire la macro concat dans le fichier 1000 et remplacer H29 dans les deux dernières lignes par H1000 (s'il y a 1000 lignes). Executer la macro
b)introduire la macro concat dans le fichier 8000 et remplacer H29 dans les deux dernières lignes par H8000 (s'il y a 8000 lignes). Exécuter la macro
Sub concat()
'
' concat Macro
' Macro enregistrée le 19/05/2006 par PAPOU
'
'
Range("H1" ).Select
ActiveCell.FormulaR1C1 = "=RC[-7]&RC[-6]&RC[-5]&RC[-4]&RC[-3]&RC[-2]&RC[-1]"
Range("H1" ).Select
Selection.AutoFill Destination:=Range("H1:H29" ), Type:=xlFillDefault
Range("H1:H29" ).Select
End Sub
2)Concaténer dans le fichier 1000 les 7 colonnes A B C D E F G dans la colonne H (à la main ou par concat)
3)Concatener dans le fichier 8000 les 7 colonnes A B C D E F G dans la colonne H (à la main ou par concat)
4) copier la colonne H du fichier 1000 dans la colonne J du fichier 8000
5) executer la macro "cherche" que vous aurez introduite au niveau du fichier 8000
6) la colonne I aura dans ses cellules le numéro de la ligne identique des 1000 (si tout va bien version excel etc..)
7) trier le tableau sur le contenu de I (ordre au choix).
8)Toutes les lignes ayant un numéro dans I seront regroupées vous pourrez les traiter ( couper etc)
9) Dans le fichier 8000 toujours, supprimer les colonnes H I et J
10) après vous être assuré que cela vous convient, mettre en réserve votre fichier 8000 d'origine et renommer le nouveau 8000 avec le bon nom
Cordialement