Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion pwolff
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pwolff

XLDnaute Nouveau
Bonjour,
je souhaite initialiser une combobox dans un userform à partir d'une liste de noms de fichiers dans un répertoire donné.
Est-ce possible ?
Après des recherches sur différents forums, je ne trouve pas de réponses.
Merci à tous pour toute aide bienveillante.


voila ce que j'ai essayé d'écrire :

Private Sub UserForm_Initialize()

Dim nomliste As Workbook

For Each nomliste In //référence du répertoire//

listefichiers AddItem nomliste.Name 'listefichiers est le nom de la combobox


Next
End Sub
 
Dernière édition:
Re : combobox VBA

Bonjour 🙂
Voici un code qui permet de mettre la liste dans un tableau, tu peux facilement le mettre dans ton ComboBox avec la méthode AddItem à la place du tableau 🙂
Code:
Sub Liste()
Chemin = "C:\temp"
ReDim ATraiter(0)
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
    If Right(Fichier.Name, 4) = ".xml" Then ' liste les fichier XML seulement
        ReDim Preserve ATraiter(UBound(ATraiter) + 1) ' fichiers valides
        ATraiter(UBound(ATraiter)) = Fichier.Name
    End If
Next
End Sub
Bonne soirée 🙂
 
Re : combobox VBA

Merci pour ta réponse. voila le code final qui fonctionne :

il fallait définir les variables

Private Sub UserForm_Initialize()


Dim chemin As String
Dim Dossier As Object
Dim fichier As Object



chemin = "Z:\............."
ReDim ATraiter(0)
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(chemin)
For Each fichier In Dossier.Files

ComboBox1.AddItem fichier.Name



Next
End Sub

je n'ai pas compris la ligne ReDim ATraiter(0)

encore merci !!!!!!!!!!!!!!!!!!!!!!!!
 
Re : combobox VBA

Bonjour Pwolff, JNP, laetitia90; le forum

Oui en effet le File Scripting Objet est bien plus simple que d'utiliser un Module de Classe depuis que Microsoft a supprimé le bon vieux "FileSearch" depuis Office 2007.

Ici de la documention sur FSO
Ce lien n'existe plus

Et ci-joint une mini Démo associée au "BrowseForFolder" qui peut être aussi très utile dans un UserForm...

J'ai aussi ajouté une micro astuce pour chercher des Extensions, soit XLS (qui remontera tous les XLSX ou M etc), ou directement QUE les XLSX ou XLSM si on veut cibler... et c'est facultatif...


Cordialement
@+Thierry
 

Pièces jointes

Dernière édition:
Re : combobox VBA

Re bonjour à tous,
Je souhaiterais aller plus loin.
J'ai ma Combobox (que j'ai nommée listefichier) qui a été initialisée avec une liste de fichiers.
je lance une macro via un bouton qui va ouvrir le fichier sélectionné dans la liste

listefichier.RemoveItem listefichier.Value
j'ai également essayé
listefichier.RemoveItem (listefichier.Value)

Ca ne passe pas.

Merci à celle ou celui qui pourrait m'éclairer.
 
Re : combobox VBA

Désolé, je me suis mal exprimé. je reformule ma question :

J'ai une combobox qui a été initialisée au moment de l'ouverture du userform avec une liste donnée. Dans mon exemple, il s'agit d'une liste de fichiers.

J'utilise mon userform, et je sélectionne dans ma liste un item.
je lance une macro à l'aide d'un bouton qui doit supprimer de ma liste l'item que j'ai selectionné.

Pour plus de clarté, j'ai démarré une nouvelle discussion :
https://www.excel-downloads.com/threads/combobox-vba-combobox1-removeitem.204941/
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
301
Réponses
3
Affichages
687
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…