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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| Sub CréerCompteRendu()
Dim objWord As Word.Application
Dim Docu As Word.Document
Dim NomFichier As String
Dim CodeAgence As String
Dim CodeSecteur As String
Dim Secteur As String
Dim NomAgence As String
Dim ChefAgence As String
Dim j As Integer
CheminRacine = Workbooks("Outil_CDG.xls").Sheets("Paramétrage").Range("CheminRacine").Value
CheminModèles = Workbooks("Outil_CDG.xls").Sheets("Paramétrage").Range("CheminModèles").Value
'Blocage du recalcul automatique:
'Application.Calculation = xlCalculationManual
On Error GoTo CréerCompteRendu_Error
If Range("Choix_CodeAgence").Value = "" Then
MsgBox _
"Vous n'avez pas préciser pour quelle agence vous souhaitez travailler!", _
vbExclamation, "Agence non spécifiée"
Range("Choix_CodeAgence").Select
Exit Sub
End If
'Définition des valeurs des variables
NomFichier = Range("Choix_CodeAgence").Value & "_CRV_" & Left(Replace(Date, "/", ""), 4) _
& Right(Year(Now), 2)
CodeAgence = Range("Choix_CodeAgence").Value
NomAgence = Range("Choix_NomAgence").Value
CodeSecteur = Sheets("Menu").Range("Agence_CodeSecteur").Value
Secteur = Sheets("Menu").Range("Agence_CodeSecteur").Value & "_" & Sheets("Menu").Range("Agence_NomSecteur").Value
Sheets("Paramétrage").Select
ChefAgence = ""
'On va chercher le nomdu chef d'agence
For j = 1 To Range("Destinataires").Rows.Count - 1
If Range("Destinataires").Cells(j, 5).Value = CodeAgence Then
If Range("Destinataires").Cells(j, 3).Value = "CDA" Or _
Range("Destinataires").Cells(j, 3).Value = "CDD" Then
ChefAgence = Range("Destinataires").Cells(j, 1).Value & " " & _
Range("Destinataires").Cells(j, 2).Value
End If
End If
Next j
Sheets("Menu").Select
' création de l'objet Word
Set objWord = New Word.Application
' Word visible
objWord.Visible = True
objWord.WindowState = wdWindowStateMaximize
'ouverture du fichier
Set Docu = _
objWord.Documents.Add(CheminModèles & "000_CRV_ddmmyy.dot")
With Docu.Sections(1)
.Headers(wdHeaderFooterPrimary).Range.Text = "Visite du " & Date
.Headers(wdHeaderFooterPrimary).Range.Paragraphs.Alignment = wdAlignParagraphCenter
'.Footers(wdHeaderFooterPrimary).PageNumbers.Add
End With
' Insertion de la date
objWord.ActiveDocument.Bookmarks("DateVisite2").Range.Text = Date
' Insertion du nom de l'agence
objWord.ActiveDocument.Bookmarks("NomAgence").Range.Text = NomAgence
' Insertion du nom du chef d'agence
objWord.ActiveDocument.Bookmarks("NomChefAgence").Range.Text = ChefAgence
'Lancement de la macro insérant les graphiques
objWord.Run "InséreUnGrapheExcelDansWord"
objWord.Run "InséreUnTableauExcelDansWord"
' sauvegarde
Docu.SaveAs _
FileName:=CheminRacine _
& CodeAgence & "_" & NomAgence & "\" & Year(Now) & "\" & _
"Compte_rendu_de_visite" & "\" & NomFichier & ".doc"
' fermeture du document
'Docu.Close
' quitter Word
'objWord.Quit
' libérer la mémoire des variables objet
Set Docu = Nothing
Set objWord = Nothing
On Error GoTo 0
Exit Sub
CréerCompteRendu_Error:
MsgBox "Erreur " & Err.Number & " (" & Err.Description & _
") ", vbCritical
'délocage du recalcul automatique:
Application.Calculation = xlCalculationAutomatic
End Sub |
Partager