guenfood
XLDnaute Occasionnel
Bonjour,
J'ai actuellement une macro sur un fichier excel qui me permet de "matcher" 2 fichiers.
Je reporte le code ci-dessous :
Actuellement, les informations comprises dans le fichier ASTERION.XLS pour lesquelles la cellule F est remplie sont effacées.
Ce qu'il me faudrait, c'est qu'au lieu d'être effacées, elles soient coupées et collées dans un nouveau fichier excel nommé ETIQUETTES.XLS
Par la suite, je souhaiterai que les informations qui sont collées dans ETIQUETTES.XLS me remplissent une feuille (pour faire des étiquettes) par rapport aux informations comprises dans les cellules M et cellules F.
La cellule F correspondant au nombre de documents et la cellule M reprenant un code (exemple : 'COL25010M336301J151623000014X01). Ce qui devra être repris sur mes étiquettes dans ce code sont les caractères COL25 correpondant au Nom, J correpondant au mois (A= Janvier, B = Février.... J=Octobre) et le 15 derrière le J correpondant au jour (J15 = 15 Octobre).
Merci par avance pour vos lumières.
J'ai actuellement une macro sur un fichier excel qui me permet de "matcher" 2 fichiers.
Je reporte le code ci-dessous :
Code:
Sub Match()
' -------------------------
' déclaration des variables
' -------------------------
Dim fichier1 As String ' variable de type chaîne
Dim fichier2 As String
Dim fichier3 As String
Dim chemin As String
' ------------------------
' ouverture des 2 fichiers
' ------------------------
fichier1 = "BNPP.xls"
fichier2 = "ASTERION.xls"
fichier3 = "ALLER.xls"
chemin = "S:\APAC FLUX DOMESTIQUES\Domaine ACOM\POINTAGE MICROFICHES\Test match microfiches\" ' **** A CORRIGER SELON BESOIN
Workbooks.Open Filename:=chemin + fichier3
Workbooks.Open Filename:=chemin + fichier2
Workbooks.Open Filename:=chemin + fichier1
Application.ScreenUpdating = False
Workbooks("ALLER.xls").Activate
Range("A4:K" & Range("A65536").End(xlUp).Row).Cut
Workbooks("BNPP.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks("ALLER.xls").Close savechanges:=True
Workbooks("ASTERION.xls").Activate
Derlig = Range("A65536").End(xlUp).Row
For Each Cel In Range("F2:F" & Derlig)
If Cel.Value <> "" Then
Lig = Cel.Row
Num = Cells(Lig, 2)
Etat = Cells(Lig, 13)
Workbooks("BNPP.xls").Activate
On Error Resume Next
Range("E1").Select
With Range("E1:E65536")
.Find(Etat).Activate
End With
If ActiveCell.Offset(0, -4).Value = Num Then
ActiveCell.EntireRow.Delete
Workbooks("ASTERION.xls").Activate
Cells(Lig, 1).EntireRow.Delete
End If
End If
Workbooks("ASTERION.xls").Activate
Next Cel
Application.ScreenUpdating = True
Workbooks("ASTERION.xls").Close savechanges:=False
Workbooks("BNPP.xls").Close savechanges:=True
End Sub
Actuellement, les informations comprises dans le fichier ASTERION.XLS pour lesquelles la cellule F est remplie sont effacées.
Ce qu'il me faudrait, c'est qu'au lieu d'être effacées, elles soient coupées et collées dans un nouveau fichier excel nommé ETIQUETTES.XLS
Par la suite, je souhaiterai que les informations qui sont collées dans ETIQUETTES.XLS me remplissent une feuille (pour faire des étiquettes) par rapport aux informations comprises dans les cellules M et cellules F.
La cellule F correspondant au nombre de documents et la cellule M reprenant un code (exemple : 'COL25010M336301J151623000014X01). Ce qui devra être repris sur mes étiquettes dans ce code sont les caractères COL25 correpondant au Nom, J correpondant au mois (A= Janvier, B = Février.... J=Octobre) et le 15 derrière le J correpondant au jour (J15 = 15 Octobre).
Merci par avance pour vos lumières.