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

Ajout de données d'un fichier externe dans un combobox

  • Initiateur de la discussion Initiateur de la discussion adinnn
  • 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 !

adinnn

XLDnaute Occasionnel
Bonjour à tous,

voilà, j'ai 2 fichiers excel : 1 pour ma facturation(facturation.xlsm) et l'autre qui sert de base de donnée pour ajouter des clients (Client.xlsx)

Je voudrais ajouter dans un combobox du fichier "facturation.xlsm" les clients de la feuille externe (clients.xlsx) et que celle-ci reste fermé lors de la lecture. Je suis en mesure d'ajouter les clients seulement lorsque la feuille fait parti du workbook mais comment faire lorsque je désire que cette feuille demeure fermée? Mon code d'ajout dans le combobox était :
HTML:
Private Sub Workbook_Open()
Dim cell As Range
For Each cell In Sheets("Clients").Range("a2:a" & Sheets("Clients").Range("A65536").End(xlUp).Row)
    Sheets("facture de service").ComboBox1.AddItem (cell)
Next
End Sub

Est-ce possible seulement avec un activeX? J'ai vu des exemples et ça me semble assez complexe...


Merci!
 
Re : Ajout de données d'un fichier externe dans un combobox

Salut adinnn,
voici une proposition. Il faudra bien sur adapter le chemin en fonction d'où se trouve le fichier clients.

VB:
Option Explicit

Private Sub Workbook_Open()
Dim i As Long, DL As Long
Dim Fichier_Source As String, Fichier_Clients As String, fichierOUVERT As String, Le_Chemin As String
Dim Chemin_Clients As String
Dim Le_FichierOUVERT, Le_FICHIER

Application.ScreenUpdating = False

Fichier_Source = "Exemple.xlsx"
Fichier_Clients = "Clients.xlsx"
Chemin_Clients = "C:\Documents and Settings\Etienne\Bureau\"

fichierOUVERT = "non"
For Each Le_FichierOUVERT In Application.Workbooks 'On parcours chacun des classeurs Excel ouverts.
   If Le_FichierOUVERT.Name = Fichier_Clients Then 'Vérifie s'il n'est pas déjà ouvert.
       fichierOUVERT = "oui" 'Switch
       Exit For 'Sort de la boucle
   End If
Next Le_FichierOUVERT 'Passe au prochain fichier

If fichierOUVERT <> "oui" Then 'Une fois la boucle complétée, si la Switch n'a pas été tournée à oui, alors ouvre le fichier
   Set Le_FICHIER = Workbooks.Open(Filename:=Chemin_Clients & Fichier_Clients, UpdateLinks:=0)
End If

Workbooks(Fichier_Clients).Activate
DL = Cells(65536, 1).End(xlUp).Row
For i = 2 To DL
   Workbooks(Fichier_Source ).Sheets("facture de service").ComboBox1.AddItem (Cells(i, 1).Value)
Next i

Workbooks(Fichier_Clients).Close False

Workbooks(Fichier_Source ).Activate
Application.Goto Range("A1"),True

End Sub

Cordialement,

Étienne
 
Dernière édition:
Re : Ajout de données d'un fichier externe dans un combobox

Salut adinnn,
je viens de faire une petite modification au code plus haut. J'avais oublié de faire la référence au bon classeur pour la combobox.

Cordialement,

Étienne
 
- 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
  • Question Question
Réponses
1
Affichages
1 K
B
  • Question Question
Réponses
6
Affichages
1 K
babubil
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…