Bonjour,
Je n'avais pas eu le temps de me remettre dedans.
Tout fonctionne presque parfaitement :)
Il y a juste la plage de sélection figé que je n'arrive pas à adapter ..
Dans mon tableau original, je voudrais que la plage de sélection pour "tb" soit la colonne de W5 à W35. sachant que j'utilise en règle générale une dizaine de cellule.
Vous aviez codé de la manière ci-dessous, mais je n'arrive pas l'adapter pour que ça fonctionne.
'tb = shs.[W5].CurrentRegion
Pour le moment, je suis donc revenu avec 'tb=Selection.Value
Sub impression()
Dim shs As Worksheet
Dim shData As Worksheet
Dim i As Integer
Dim tb As Variant
Set shs = Sheets(2)
Set shData = Sheets(2)
Application.ScreenUpdating = False
'tb = shData.Range(shData.Cells(1, "A"), shData.Cells(shData.Cells(shData.Rows.Count, "A").End(xlUp).Row, "B")).Value
tb = shs.[W5].CurrentRegion
'tb = Selection.Value
If IsEmpty(tb) Then Exit Sub
chemin = Environ("USERPROFILE") & "\Bureau\" & "Impression Fiche Visa"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin
For i = LBound(tb, 1) To UBound(tb, 1)
'copie dans la cellule O2 le num bordereau
If memoire <> tb(i, 1) And tb(i, 1) <> "" Then
memoire = tb(i, 1)
shs.[O2] = tb(i, 1)
shs.Copy
Set destwb = ActiveWorkbook
With destwb
nom = "BORDEREAU N°" & memoire & " - " & Format(shs.[O5], "DD.MM.YY") & ".pdf"
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\" & nom, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False ' sauvegarde du fichier au format pdf
.Close False
End With
End If
Next
End Sub