Userforme avec menu deroulant ouvrir fichier

bonjour a tous,

je suis nouveau et debutant

j'ai fichier 2 feuilles sur une un bouton pour appeler userforme sur l'autre une cellule comportant le chemin d'un dossier

dans userforme il y a un menu deroulant qui pointe sur la cellule comportant le chemin des fichier a afficher ( la ca bloc)

ensuite j'ai de 2 boutons un pour pour fermer userform (la ok) l'autre pour ouvrir le fichier sélectionner sur le menu déroulant (la ca bloc)

fichier joint

merci d'avance pour votre aide

16projet-test.xlsm (20.29 Ko)
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

Private Sub CommandButton2_click()

End Sub

Private Sub UserForm_Initialize()
Dim dossier As Object
Dim chemin_dossier As String
Dim fichier As Object
Dim nom_fichier As String

With ThisWorkbook.Sheets("feuil2")

chemin_dossier = Range("B2") ' chemin de la cellule
Set FSO = CreateObject("scripting.filesystemobject")

'identifier le dossier
Set dossier = FSO.getfolder(chemin_dossier)

'boucle sur les fichiers du dossier
For Each fichier In dossier.Files
'trouver le nom du fichier
nom_fichier = fichier.name
'ajouter le nom du fichier
ComboBox1.AddItem "" & nom_fichier

Next
End With
End Sub

Bonjour,

Votre problème se situe ici:

With ThisWorkbook.Sheets("feuil2")
    chemin_dossier = Range("b2") ' chemin de la cellule
Si vous n'aviez pas utilisez "With", vous auriez dû écrire:
chemin_dossier = ThisWorkbook.Sheets("feuil2").Range("b2") ' chemin de la cellule

L'utilisation de "With" permet d'écrire toutes les commandes qui s'y réfèrent sur les lignes suivantes sans répéter à chaque fois "ThisWorkbook.Sheets("feuil2")" ,

OUI MAIS, il ne faut pas oublier le point de séparation devant "Range", comme ceci:

With ThisWorkbook.Sheets("feuil2")
    chemin_dossier = .Range("b2") ' chemin de la cellule

Cdlt

merci beaucoup Arturo83 je suis vraiment nul

j' ai supprimé WITH ca marche

il me reste a trouver comment ouvrir le fichier pdf sélectionné en clic quand sur le fichier ou sur le bouton éditer

encore merci a toi

j'ai réglé les 2 problèmes que j'ai cité si dessus ouhai!!!

merci encore a Arturo83 pour son aide

j'ai juste une question j'ai un formulaire Excel classique peut on changer la couleur

merci pour vos raiponces

"j'ai un formulaire Excel classique peut on changer la couleur"

Oui, il suffit d'aller dans les propriétés du formulaire et choisir la couleur
largo41

merci pour ta raiponce ,j' ai mal formulé ma question c'est pas un userforme c'est un formulaire d'Excel pure avec la capture d'écran c'est mieux

formulaire

Bonjour,

Sur ce type de formulaire on ne peut pas agir.

Cdlt

ok merci pour tes raiponces je vais les faire en userform

bonne journée

et encore merci

Désolé, erreur !

Bonjour,

merci beaucoup Arturo83 je suis vraiment nul

j' ai supprimé WITH ca marche

il me reste a trouver comment ouvrir le fichier pdf sélectionné en clic quand sur le fichier ou sur le bouton éditer

encore merci a toi

Le problème n'est pas de supprimer les "With" mais de ne pas oublier les points qui y sont associés :

With est un optimiseur de code. Il permet de préciser à chaque fois de quoi on parle : Objet; Workbook, Sheets...

Ne pas l'utiliser est stupide : Il rend votre code incertain et souvent incompréhensible. Si vous ne précisez jamais la feuille cible vous avez toujours un maximum de chance de taper à coté de la plaque...

A+

Rechercher des sujets similaires à "userforme menu deroulant ouvrir fichier"