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

XL 2019 Ouverture fichier xlsx dans dossier nom variable.

steph59940

XLDnaute Nouveau
Hello le forum,

J'ai un souci d'ouverture de fichier via inputbox dans le quel je demande à l'utilisateur de renseigner un N° ID dossier à 6 chiffres..
Via macro, en amont, Je génère un dossier nommer "Commande de volet en Kit N°" + un numéro comportant 6 chiffres (qui est un numéro de commande que je nomme variable dans la macro).
Dans ce dossier, toujours via macro, j'enregistre un fichier excel en xlsx qui s'appel "Commande de volet en Kit N°" + variable (le numéro de commande) + la date + l'heure au moment de la création.
Je souhaiterai que quand l'utilisateur entre son numéro de commande, le fichier excel comportant le numéro de commande s'ouvre.
La macro pointe bien sur le bon dossier mais pas sur le bon fichier.
Une ame charitable pourrait elle me venir en aide svp.

Ci dessous mon code.

Sub OuvertureDeFichier()

Dim MonApplication As Object
Dim Part, MonFichier As String
Set MonApplication = CreateObject("Shell.Application")

Refaire:
variable = InputBox("Merci de renseigner votre ID dossier svp", "ID")
Select Case variable
Case Is = vbCancel
Exit Sub
Case Is = vbOK
If variable = "" Or variable > 999999 Then 'marche pas = si différent de 6 chiffres...

MsgBox "Veuillez recommencer l'opération avec un nombre à 6 chiffres svp", vbExclamation
GoTo Refaire
End If
End Select

On Error GoTo OuvertureFichierErreur

Chemin = "C:\Users\Steph\Desktop" & "\" & "Commande de volet en Kit N° " & variable
Part = "Commande de volet en Kit N°" & " " & variable * & ".xlsx" 'ICI CA COINCE !
MonFichier = Dir("Chemin & " \ " & Part")
MonApplication.Open (MonFichier)
Set MonApplication = Nothing
OuvertureFichierErreur:
Set MonApplication = Nothing
MsgBox "Erreur lors de l'ouverture de fichier..."
End Sub
 

steph59940

XLDnaute Nouveau
Bonjour le forum,

Désolé pour mon retour tardif, boulot, boulot et encore boulot...
Un grand merci à patricktoulon et sylvanu pour le coup de pouce (et leur patience).
Grandement inspiré de vos codes (peut être avec maladresse) ce code fait le job.
il me manquait cette notion d'étoile qui indique quelques choses d'autre surtout dans la syntaxe :
&"*.xlsx

chemin = "C:\Users\Steph\Desktop\Commande de volet en Kit N° " & variable & "\"
Tot = 0
fichier = Dir(chemin)
While fichier <> ""
Tot = Tot + 1
fichier = Dir
Wend
fichier = Dir(chemin)
If Tot = 1 Then
MsgBox "Le dossier semble ne pas exister !"
Exit Sub
End If
If Tot > 2 Then
MsgBox "Le dossier correspondant comporte " & Tot - 1 & " fichiers, merci de double cliquer sur le plus récent svp."
Shell Environ("WINDIR") & "\explorer.exe " & chemin, vbNormalFocus
Exit Sub
Else
Workbooks.Open filename:=chemin & fichier
Exit Sub
End If

A bientôt, j'indique cette discutions résolue.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…