1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Sub TransacJulien()
On Error GoTo Errorcatch
Dim wCPMF2018 As Workbook
Dim wtransac2 As Workbook
Set wCPMF2018 = GetObject("G:\Suivi CS_TEST.xlsx")
Set wtransac2 = Workbooks("transac2.xlsm")
wCPMF2018.Windows(1).Visible = True
wCPMF2018.Worksheets("Julien").Select
Dim a As Integer
Dim i As Integer
Dim j As Integer
a = wtransac2.Worksheets("Macro").Range("a1", Range("a1").End(xlDown)).Count
'compte le nombre de ligne dans le fichier transac2
For i = 1 To a
For j = 1 To 100
wtransac2.Worksheets("Macro").Cells(j + 1, 20) =Right(Replace(wCPMF2018.Worksheets("Julien").Cells(j + 1, 5), " ", ""), 15)
'crée une copie des Data du fichier CS_TEST épuré du texte inutile
Next j
Next i
For i = 1 To a
For j = 1 To 100
If wtransac2.Worksheets("Macro").Cells(i + 1, 1) = wtransac2.Worksheets("Macro").Cells(j + 1, 20) Then
'teste les Data ainsi récolté du fichier CS_TEST face aux Data disponible à la base dans le fichier transac2
wtransac2.Worksheets("Macro").Cells(j + 1, 21) = wtransac2.Worksheets("Macro").Cells(i + 1, 1)
'si ces données sont identiques, les Data transac2 sont copiées en laissant les espaces adéquats vis-à-vis des données épurées.
If IsEmpty(wCPMF2018.Worksheets("Julien").Cells(j + 1, 19)) = True And IsEmpty(wtransac2.Worksheets("Macro").Cells(j + 1, 21)) = False Then
wCPMF2018.Worksheets("Julien").Cells(j + 1, 19) = wtransac2.Worksheets("Macro").Cells(i + 1, 2)
'copie ainsi la date en fonction de l'ordre ainsi trouvé plus haut en faisant attention que la cellule Date dans CS_TEST soit au préalable vide.
wtransac2.Worksheets("Macro").Cells(i + 1, 4) = "La date de la première transaction de " & wtransac2.Worksheets("Macro").Cells(i + 1, 3) & " a été copiée dans la feuille de Julien."
'Un message qui s'affiche pour expliciter quelle feuille a reçu une Date (normalement plusieurs feuilles sont à prévoir.
Else
If IsEmpty(wtransac2.Worksheets("Macro").Cells(i, 6)) = True And IsEmpty(wCPMF2018.Worksheets("Julien").Cells(j + 1, 19)) = False Then
wtransac2.Worksheets("Macro").Cells(i + 1, 4).Value = "La cellule n'est pas vide"
'ce qui est écrit dans un cas contraire
End If
End If
End If
Next j
Next i
Errorcatch:
MsgBox Err.Description
End Sub |
Partager