Sélectionner le caractère le plus élevé
Résolu
siamens_duj
-
siamens_duj -
siamens_duj -
Bonjour,
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.
Je vous joint un extrait de mon code :
J'avais déjà ouvert une discussion à propos de ce sujet mais mon code a changé et j'avais apparemment mal testé car si la dernière lettre de mon fichier est autre chose que Z alors il ouvre le fichier A ..
Merci pour votre aide.
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.
Je vous joint un extrait de mon code :
Dim file As String
Dim w As Integer
For w = 90 To 65 Step -1 'De Z à A en reculant de 1
file = Dir(Chemin & "*" & Chr(w) & ".docx")
Name = Left(NomDuFichier, 12) 'Name n'est pas composé du dernier caractère du nom du fichier
Do While file <> "" 'Faire tant que file n'est pas vide
'Si les 12 premiers caractères du nom d'un fichier est égal au 12 caractères du nom alors
If Len(file) - 6 = Len(Name) And Left(file, Len(file) - 6) = Name Then
GoTo suite
End If
file = Dir() 'Permet de passer au fichier suivant
Loop
suite:
Ofile = Right(file, 6) 'Selectionne les 6 derniers caracteres de file ex: ...A.docx
Pfile = Left(Ofile, 1) ' selectionne le premier caractere de Ofile soit la lettre
If w = 90 Then
Set appwd = CreateObject("Word.Application")
With appwd
.WordBasic.DisableAutoMacros 1 '0 pour activer
.Visible = True
'.Documents.Open Chemin
.Documents.Open Chemin & file
.Activate
End With
Range("I1").Value = ""
Exit For
Else
Pfile = Chr(w - 1)
Exit For
End If
Next w
J'avais déjà ouvert une discussion à propos de ce sujet mais mon code a changé et j'avais apparemment mal testé car si la dernière lettre de mon fichier est autre chose que Z alors il ouvre le fichier A ..
Merci pour votre aide.
A voir également:
- Sélectionner le caractère le plus élevé
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Caractere vide - Guide
- Caractere speciaux mac - Guide
1 réponse
Bonjour,
Devrait aller:
Devrait aller:
Sub test() Dim file As String, memFile As String file = Dir(Chemin & "*" & Chr(w) & ".docx") Do While file <> "" 'Faire tant que file n'est pas vide If file > memNom Then memNom = file End If file = Dir() 'Permet de passer au fichier suivant Loop If memFile <> "" Then Set appwd = CreateObject("Word.Application") With appwd .WordBasic.DisableAutoMacros 1 '0 pour activer .Visible = True '.Documents.Open Chemin .Documents.Open Chemin & file .Activate End With Range("I1").Value = "" End If End Sub
Cependant je ne saisie pas vraiment votre code.
Que sont NemFile et NemNom ?
Merci
j'ai corrigé mon code avec le votre et plus aucun document ne s'ouvre.
Sauriez vous pourquoi ?
Sauriez vous pourquoi ? Oui, j'ai melange votre code et le code test que j'ai utilise