Excel 2016 : Numéro FD à incrémenter

kdet

XLDnaute Occasionnel
Bonjour le Forum, à tous et à toutes,

De retour parmi vous pour trouver de l'aide.
 

kdet

XLDnaute Occasionnel
Bonjour Danreb, le forum,

j'ai suivi votre conseil, et voici la réponse quand je clique sur l'onglet MSC
1027295
 

Dranreb

XLDnaute Barbatruc
Est-ce bien ce que vous voulez faire ?
j'aurais mieux compris que votre expression Worksheet soit partout Sh plutôt que Sheets("FNR")
Cela dit je ne sais pas pourquoi ça plante, d'autant plus que vous ne m'indiquez pas le message d'erreur.
Peut être n'y a-t-il du texte dans cette cellule D2 ?
 

Dranreb

XLDnaute Barbatruc
Essayez comme ça :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
   Dim Wsh As Worksheet, Série As String, AnMois As String, TSpl() As String
   If Not TypeOf Sh Is Worksheet Then Exit Sub
   Set Wsh = Sh
   Série = Wsh.[D2].Value
   If MsgBox("Voulez-vous incrémentrer ce numéro """ & Série & """ ?", _
      vbQuestion + vbYesNo, "Feuille " & Wsh.Name) = vbNo Then Exit Sub
   AnMois = Format(Date, "yyyymm")
   TSpl = Split(Série, "/")
   If TSpl(0) < AnMois Then
      TSpl(0) = AnMois
      TSpl(1) = Wsh.Name & "001"
   Else
      TSpl(1) = Wsh.Name & Format(Right(TSpl(1), 3) + 1, "000")
      End If
   Wsh.[D2].Value = Join(TSpl, "/")
   End Sub
 

kdet

XLDnaute Occasionnel
Danreb,

Tu m'as sauvé pour une partie de mon problème. Vu qu'on est encore en 2019, est-ce l'année s'incrément +1 pour avoir 2020 pour l'année suivante?
Denière question, une fois le FD terminé et imprimé suivant la sélection est-ce qu'on peut ajouter un code pour l'enregistrement sous format .pdf pour archives?

Merci d'avance,

kdet
 

job75

XLDnaute Barbatruc
Bonjour kdet, Bernard,

Avec ce code dans ThisWorkbook l'incrémentation a lieu chaque fois qu'on imprime une feuille :
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim c As Range, chemin$
Cancel = True 'pour tester sans imprimer, à supprimer pour imprimer
Set c = [D2]
If c Like "######/" & ActiveSheet.Name & "###" And Val(Left(c, 4)) = Year(Date) And Mid(c, 5, 2) = Format(Month(Date), "00") Then
    c = Left(c, Len(c) - 3) & Format(Val(Right(c, 3)) + 1, "000")
Else
    c = Year(Date) & Format(Month(Date), "00/") & ActiveSheet.Name & "001"
End If
chemin = ThisWorkbook.Path & "\" 'à adapter
Application.EnableEvents = False 'désactive les évènements
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin & Replace(c, "/", " ") 'le slash / est un caratère interdit
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

  • Numéro FD à incrémenter(1).xlsm
    25.4 KB · Affichages: 7

kdet

XLDnaute Occasionnel
Bonjour le Forum, Job75, Bernard,

Merci pour ton aide précieux. Deux questions : 1- est-ce que l'enregistrement au format .pdf est automatique si une fois la selection est imprimé? 2- le code "chemin = ThisWorkbook.Path & "\" " (à adapter) est-ce que je dois renseigner dans "\" le chemin où je dois archiver le .pdf?

Cordialement,

kdet
 

kdet

XLDnaute Occasionnel
Bonjour le forum, Job75,

J'ai utilisé et suivi les instructions de ton code. sauf ou incompréhension de ma part, j'ai juste modifié le code (chemin) comme suit :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim c As Range, chemin$
Set c = [D2]
If c Like "######/" & ActiveSheet.Name & "###" And Val(Left(c, 4)) = Year(Date) And Mid(c, 5, 2) = Format(Month(Date), "00") Then
c = Left(c, Len(c) - 3) & Format(Val(Right(c, 3)) + 1, "000")
Else
c = Year(Date) & Format(Month(Date), "00/") & ActiveSheet.Name & "001"
End If
chemin = ThisWorkbook.Path & "I:\Google Drive\KANDRA\2019\FD PDF\" 'à adapter
Application.EnableEvents = False 'désactive les évènements
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin & Replace(c, "/", " ") 'le slash / est un caratère interdit
Application.EnableEvents = True 'réactive les évènements
End Sub

Le fichier est imprimé mais pour la sauvegarde au format pdf dans le dossier "I:\Google Drive\KANDRA\2019\FD PDF\" là rien ne se passe. je ne sais pas où est ce que ça bloque.

Cordialement,

kdet
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 337
Membres
102 865
dernier inscrit
FreyaSalander