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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| Private Sub Workbook_Open()
'Pour ouvrir le classeur 2 en arrière plan
Dim vFilename As String, oJournalWorkbook As Workbook
vFilename = "chemin_d_accès\classeur_2.xls"
Set oJournalWorkbook = Application.Workbooks.Open(vFilename)
oJournalWorkbook.Activate
ActiveWindow.WindowState = xlMinimized
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'définition des variables à sauvegarder
Const S = "SYNTHESE"
Const SR = "RECAP_INFOS"
Dim Cellule As Range
Dim derlig As Long
Dim lig As Long
Dim v As String 'v correspond au nom du prestataire. Il est qualifié ainsi pour pouvoir être réutilisé tel quel dans les 3 fichiers prestataires
Dim v1 As Single
Dim v2 As Single
Dim v3 As Single
Dim v4 As Single
Dim v5 As Single
Dim v6 As Single
'Attribuer les différentes valeurs
v = Sheets(S).Range("B5").Value
v1 = Sheets(S).Range("B205").Value
v2 = Sheets(S).Range("B206").Value
v3 = Sheets(S).Range("B207").Value
v4 = Sheets(S).Range("B208").Value
v5 = Sheets(S).Range("B209").Value
v6 = Sheets(S).Range("B210").Value
'Recherche de la valeur v dans le tableau du classeur 2
With Workbooks("classeur_2.xls").Sheets(SR)
Set Cellule = Range("A3:A65536").Cells.Find(what:=v, LookAt:=xlWhole) 'les lignes 1 et 2 sont les entêtes de colonnes
If Cellule Is Nothing Then
'Traitement si la recherche ne trouve rien
derlig = .[A65536].End(xlUp).Row + 1
.Cells(derlig, 1).Value = v
.Cells(derlig, 2).Value = v1
.Cells(derlig, 3).Value = v2
.Cells(derlig, 4).Value = v3
.Cells(derlig, 5).Value = v4
.Cells(derlig, 6).Value = v5
.Cells(derlig, 7).Value = v6
'Traitement dans le cas où la valeur est trouvée
Else
lig = Range(Cellule).Row
.Cells(lig, 2).ClearContents
.Cells(lig, 3).ClearContents
.Cells(lig, 4).ClearContents
.Cells(lig, 5).ClearContents
.Cells(lig, 6).ClearContents
.Cells(lig, 7).ClearContents
.Cells(lig, 2).Value = v1
.Cells(lig, 3).Value = v2
.Cells(lig, 4).Value = v3
.Cells(lig, 5).Value = v4
.Cells(lig, 6).Value = v5
.Cells(lig, 7).Value = v6
End If
End With
End Sub |
Partager