Selectionner la dernière lettre d'un fichier la plus élevée

Résolu/Fermé
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 - 28 janv. 2016 à 16:21
 siamens_duj - 29 janv. 2016 à 12:35
Bonjour,

Je me confronte à un problème de taille.

J'ai un programme où j'entre un nom de fichier dans une inputbox, par exemple UP-C-100089-1
Dans mon dossier, j'ai les fichiers UP-C-100089-1A, UP-C-100089-1B, UP-C-100089-1C et UP-C-100089-1D.
J'aimerais que mon programme ouvre le fichier avec la lettre la plus "élevée" soit ici UP-C-100089-1D.
J'ai fais le code :

Ofile = right(NomFichier, 1)  
Pfile = left (Ofile, 1) 'sélectionne le dernier caractère sans l'extension

If Pfile = "B" Then

'Code pour ouvrir le document

Else if Pfile = "A" Then

'Code pour ouvrir le document
End if


Cela a l'air de fonctionner mais ce n'est pas ce que je cherche puisque je voudrais aller jusqu'à Z et dans l'exemple si dessus jusqu'à D.

J'ai essayé avec for lettre = ask ("Z") to ask ("A") step -1 mais je ne sais pas comment m'y prendre.

Quelqu'un pourrait m'aider svp ?

Merci
A voir également:

2 réponses

sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
Modifié par sipherion le 28/01/2016 à 16:31
Salut,

Un commentaire : dans ton exemple, Ofile est toujours égal à Pfile

NomFichier = 'Classeur1.xlsx'
Ofile = right(NomFichier, 1)
' Ofile = 'x'
Pfile = left (Ofile, 1) 'sélectionne le dernier caractère sans l'extension
' Pfile = 'x'



"Il vaut mieux savoir tout chercher que chercher à tout savoir."
0
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 7
28 janv. 2016 à 17:53
Bonjour et merci pour votre reponse.
NomDuFichier = fichier & ".xls"
NomFichier = NomDuFichier

C est pour ça que j'ai mis le commentaire ^^
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
29 janv. 2016 à 08:19
Bonjour,

Avez-vous testé ma méthode ci-dessous?
0
siamens_duj > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
29 janv. 2016 à 09:46
Bonjour, oui justement j'étais en train de la tester, je vous ai répondu.
Merci pour votre réponse.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié par pijaku le 28/01/2016 à 16:55
Bonjour,

Tu fais une boucle sur les codes Asc des lettres A à Z et à chaque fois tu vérifies si le fichier existe.
A tester :
Sub test()
Dim i As Integer, NomFic As String, Chemin As String, Extens As String, Carac As String
Chemin = "C:/Répertoire/blabla/" 'A ADAPTER
Extens = ".xlsx"
For i = 65 To 90
   NomFic = Chemin & "UP-C-100089-1" & Chr(i) & Extens
   If FichierExiste(NomFic) = False Then 
      If i = 65 Then 
         MsgBox "aucun fichier ne débute par UP-C-100089-1"
         Exit For
      Else
         Carac = Chr(i - 1)
         MsgBox Carac
         Exit For
      End If
Next i

End Sub
Function FichierExiste(NomFichier As String) As Boolean
    FichierExiste = Dir(NomFichier) <> "" And NomFichier <> ""
End Function


Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
0
  • Rectification de mon commentaire*


Bonjour et merci pour votre réponse.
Cependant cela ne fonctionne pas.
J'ai donc repris mon code avec A et B en dernière lettre.
J'ai remarqué que quoi que je fasse il sélectionne toujours que le B et quand je change mon code et que je met Z ou A et bien il n'en n'ouvre aucun !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > siamens_duj
29 janv. 2016 à 10:57
Avez-vous adapté le chemin et l'extension dans mon code?
0
Oups je n'avais pas modifié le chemin !

merci pour votre aide, cela fonctionne !
0