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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
| Dim Compteur As Long
Compteur = 0
For m = 1 To DerCol
'ReDim Preserve PLUSIEURSDestFolderJoinFileName(m)
Debug.Print Cells(1, m)
If InStr(1, Cells(2, m), ".") <> 0 And Mid(Cells(2, m), 3, 1) = "\" And InStr(1, Cells(2, m), "@") = 0 Then
Compteur = Compteur + 1
ReDim Preserve PLUSIEURSDestFolderJoinFileName(Compteur)
Debug.Print Mid(Cells(1, m).Value, 2, Len(Cells(1, m).Value))
PLUSIEURSDestFolderJoinFileName(Compteur) = m 'Repertoire & Mid(Cells(1, m).Value, 2, Len(Cells(1, m).Value))
UserForm2.ListBox2.AddItem (Repertoire & PLUSIEURSDestFolderJoinFileName(Compteur))
Debug.Print m & " " & Repertoire & PLUSIEURSDestFolderJoinFileName(Compteur)
If Compteur = RepNbPJ Then
Exit For
End If
End If
Next m
End If
If RepTypPJ = "NON" Then
Dim DestFolderJoinFileName As String
If RepNbPJ <> 0 And RepNbPJ <> "" Then
Dim L As Long
For L = 1 To RepNbPJ
ReDim Preserve PLUSIEURSDestFolderJoinFileName(L)
DestFolderJoinFileName = ""
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "PIECE(S) JOINTE(S)"
.Filters.Clear
.Filters.Add "*", "*.*"
If .Show = 0 Then MsgBox "aucun fichier sélectionné": Exit Sub
DestFolderJoinFileName = .SelectedItems(1)
Debug.Print DestFolderJoinFileName
End With
PLUSIEURSDestFolderJoinFileName(L) = DestFolderJoinFileName
Debug.Print PLUSIEURSDestFolderJoinFileName(L)
UserForm2.ListBox2.AddItem (PLUSIEURSDestFolderJoinFileName(L))
Debug.Print PLUSIEURSDestFolderJoinFileName(L)
Next L
Else
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "PIECE(S) JOINTE(S)"
.Filters.Clear
.Filters.Add "*", "*.*"
If .Show = 0 Then MsgBox "aucun fichier sélectionné": Exit Sub
DestFolderJoinFileName = .SelectedItems(1)
End With
End If
End If
End If
Workbooks(DirExcelSrc).Activate
Workbooks(DirExcelSrc).Close SaveChanges:=False
If RepLienExcel = "OUI" Then
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
ExcelSrc _
, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & DirExcelSrc & ";Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB" _
, SQLStatement:="SELECT * FROM `" & Onglet & "$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
End If
Dim wd As Object, editor As Object
Dim doc As Object
Dim oMail As Object
Dim oApp As Object
Dim iR As Long
Dim i As Long
Dim oDoc As Document
Dim oDS As MailMergeDataSource
Dim DocName1 As String
Dim UAIDEST As String
Dim objDoc As Document
Set objDoc = ActiveDocument
Set oDoc = ActiveDocument
Set oDS = oDoc.MailMerge.DataSource
Set oApp = CreateObject("Outlook.Application")
Set doc = ActiveDocument
doc.Content.Copy
iR = oDoc.MailMerge.DataSource.RecordCount
Dim SUJET As String
SUJET = InputBox(SUJET, "SUJET")
For i = 2 To Combien
Set oMail = oApp.CreateItem(olMailItem)
With oMail
With oDoc.MailMerge
'Définition du premier et dernier enregistrement
.DataSource.FirstRecord = i
.DataSource.LastRecord = iR
' Actualisation de l'enregistrement pour la sauvegarde
.DataSource.ActiveRecord = i
DocName1 = .DataSource.DataFields(Kol).Value
UAIDEST = .DataSource.DataFields(KolUAI).Value
If RepNbPJ <> 0 And RepNbPJ <> "" Then
If RepTypPJ = "OUI" Then
If RepNbPJ = 1 Then
DestFolderJoinFileName = .DataSource.DataFields(m).Value
Debug.Print DestFolderJoinFileName
End If
If RepNbPJ > 1 Then
For n = 1 To RepNbPJ
PLUSIEURSDestFolderJoinFileName(n) = .DataSource.DataFields(PLUSIEURSDestFolderJoinFileName(n)).Value
Next n
End If
End If
End If
End With
'PARTIE WORD
objDoc.Range.Select
Selection.CopyAsPicture
'PARTIE MAIL
Set OutApp = CreateObject("Outlook.Application")
Set outmail = OutApp.CreateItem(0)
Set outlookwordeditor = outmail.GetInspector.WordEditor
If DocName1 <> "" Then
outmail.Display
outlookwordeditor.Range.PasteAndFormat wdFormatOriginalFormatting
End If
With outmail
.Subject = "[XXXX] - " & SUJET ' & " - " & UAIDEST
If RepTest = "OUI" Then
.To = "XXXX"
End If
If RepTest = "NON" Then
.To = DocName1
End If
L = 0
If RepNbPJ <> 0 And RepNbPJ <> "" Then
If RepTypPJ = "OUI" Then
If RepNbPJ = 1 Then
Debug.Print Repertoire & Mid(DestFolderJoinFileName, 2, Len(DestFolderJoinFileName))
Debug.Print DestFolderJoinFileName
DestFolderJoinFileName = CStr(DestFolderJoinFileName)
.Attachments.Add DestFolderJoinFileName |
Partager