Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Compter le nb de Fichier dans un dossier afin de créer une nouvelle version

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

youguybass

XLDnaute Junior
Bonjour à tous
Je cherche à compter dans un dossier, le nb de fichier qui aurait les 12 premiers caractères identiques à une variable "NumCom" par exemple
Dans le dossier (en image) ci-dessous en exemple je voudrais que si je faisait une nouvelle version de la OUT 2027-016, celle-ci soit appelée OUT 2027-016 _ SNM Métal _ Version 6
Que si je créé une nouvelle commande OUT 2027-019 _ ToTo , cela me crée comme fichier OUT 2027-019 _ ToTo _ Version 1

D'avance merci

VB:
Sub CréatPDFCommande()
Dim NumCom As String, DosDépot As String, DosRacine As String, An%, Fournisseur, Indice

Fournisseur = Page17_2Commandes.ComboBox1

NumCom = TextBox26       ' Num Commande
An = Left(Split(NumCom, " ")(1), 4) 'Récupère l'année de la commande

DosRacine = "I:\Chevalerias\" ' // Peut-être à adapter
DosDépot = "Commandes " & An        ' // Nom du dossier de dépot voulu
Indice = 1

'***************************
'On Error Resume Next: ChDrive DosRacine: ChDir DosRacine & DosDépot
'If Err Then MkDir DosRacine & DosDépot: ChDir DosRacine & DosDépot

'Ci-dessus ou ci-dessous les 2 fonctionnent

Dim cheminDossier As String
cheminDossier = DosRacine & "\" & DosDépot  ' Assure le \ entre les deux

If Dir(cheminDossier, vbDirectory) = "" Then
    MkDir cheminDossier
End If
'*********************************

Dim CheminCommande As String
CheminCommande = cheminDossier & "\" & NumCom & " _ " & Fournisseur & " _ Version " & Indice & ".pdf"
'Indice = Left(Split(CheminCommande, " ")(1), 4)
Indice = Right(Split(CheminCommande, " ")(1), 1)

MsgBox Indice

If Dir(CheminCommande, vbDirectory) <> "" Then
    If MsgBox("Le PDF de cette commande existe déja" & Chr(10) & "Voulez vous l'écraser? ", vbYesNo + vbExclamation) = vbYes Then

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DosRacine & DosDépot & "\" & NumCom & " _ " & Fournisseur & " _ Version " & Indice & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    Else
    
  If MsgBox("Voulez vous faire évoluer l'indice" & Chr(10) & "Blabla", vbYesNo + vbExclamation) = vbYes Then
    Indice = Indice + 1
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DosRacine & DosDépot & "\" & NumCom & " _ " & Fournisseur & " _ Version " & Indice & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
        Else: Exit Sub
        End If
    
    End If
 
    Else 'Pour créer les PDF s'il n'existe pas
    Indice = 1
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DosRacine & DosDépot & "\" & NumCom & " _ " & Fournisseur & " _ Version " & Indice & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
 
End If

    End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
370
Réponses
3
Affichages
836
Réponses
10
Affichages
731
Réponses
6
Affichages
496
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…