Bonjour à tous, je suis autodidacte en VBA et je vous sollicite pour m’aider à résoudre un problème.
J’ai un code qui liste les fichiers contenus dans un répertoire. Mais j’aimerai y apporter une amélioration, je m’explique.
Voilà mon code actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub ListingFichiers()
Dim Rep As String, Fichier As String
Dim i As Integer
 
 
Rep = ThisWorkbook.Path & "\05-Commandes" & "\" 'Repertoir du fichier
 
 
Fichier = Dir(Rep)  'Nom du fichier dans le repertoir
 
 
 
 
Sheets("Synthése commandes").Range("A5:ZZ65000").ClearContents  'Effacer tout
 
i = 3
    Do While Fichier <> ""
 
 
 
        If Fichier Like "*.xlsx*" Then
        i = i + 1
 
            Sheets("Synthése commandes").Range("A" & 1 + i) = Fichier
        End If
        Fichier = Dir
 
    Loop
 
 
 
End Sub
Il me renvoi une liste de fichiers «Commandes»

C2406552-0-WS UNIBER (EV).xlsx
C2407563-0-WS SMCB (Bidul).xlsx
C2407563-A-WS SMCB (Bidul).xlsx
C2407564-0-WS RUBIV (Commerce).xlsx
C2407567-0-WS RUBIV (Raccord).xlsx
C2407575-0-WS IGAS (Truc).xlsx
C2407575-A-WS IGAS (Truc).xlsx
C2407582-0-WS EMP3 (machin).xlsx

Je souhait l’améliorer en gérant les indices.
-0- ou -A- ou -B- ….

Sur l’exemple ci-dessus, on voit des numéros de commandes en doublons.
Je souhaite que, lorsqu’il y a doublon, le code ne renvoi seulement les n° de commandes don l’indice est le plus élevé.

C’est-à-dire :

C2406552-0-WS UNIBER (EV).xlsx
C2407563-A-WS SMCB (Bidul).xlsx
C2407564-0-WS RUBIV (Commerce).xlsx
C2407567-0-WS RUBIV (Raccord).xlsx
C2407575-A-WS IGAS (Truc).xlsx
C2407582-0-WS EMP3 (machin).xlsx


Information importante, le n° de commande sont toujours structurés comme ceci :
C => Pour commande
24 l’année
07 le mois
123 N° chrono compris entre 001 et 9999 (3 ou 4 chiffres)
-0- Par défaut indice 0 mais si modifications, l’indice sera -A- puis -B- etc… (toujours encadré de tirets)
WS Initiales de l’auteur 2 ou 3 lettres
FOURNISSEUR x caractères


Merci d’avance pour vos propositions de solutions.