Alimenter des 8 combobox via un fichier txt

houssine77

XLDnaute Nouveau
Bonjour à tous

j'ai 8 combobox sur un userfor qui sont alimenter par un fichier txt de données, les données du Txt ne sont pas à modifier juste à les lire j'ai vu plusieur code me je n'arrive pas à les adapter à mes besoin quelqu'un peut m'aider à adapter ce code que j'ai trouvé sur le net que je remercie l'autheur d'avace
Code:
Public Sub LitValeurs(strChemFich As String)
     Dim F As Integer
     Dim Val1 As String, Val2 As Integer, Val3 As Date

     F = FreeFile '1er numéro libre
     Open strChemFich For Input As #F 'ouvert en lecture
     While Not EOF(F)
          Input #F, Val1, Val2, Val3 'lit chaque valeur de la ligne et les attribue aux variables correspondantes
          MsgBox Val1 & " - " & Val2 & " - " & Val3
     Wend
     Close #F
End Sub
merci d'avance
 

RENAUDER

Nous a quitté
Repose en paix
Re : Alimenter des 8 combobox via un fichier txt

Bonjour,

Que veux tu exactement car sans fichier texte, ce n'est pas facile !!!
Val1 va dans ComboBox1
Val2 va dans ComboBox2
Val3 va dans ComboBox3
etc..
Ou alors ce sont des Combobox multi-colonnes ?
 

RENAUDER

Nous a quitté
Repose en paix
Re : Alimenter des 8 combobox via un fichier txt

Bonjour,
Tu n'as pas répondu à ma question et donné de fichier.

Il faut utiliser :
Code:
Private Sub UserForm_Initialize()
While Not EOF(F)
          Input #F, Val1, Val2, Val3 
            Me.ComboBox1.AddItem Val1
            Me.ComboBox2.AddItem Val2
            Me.ComboBox3.AddItem Val3
     Wend
End Sub
 
Dernière édition:

houssine77

XLDnaute Nouveau
Re : Alimenter des 8 combobox via un fichier txt

Re à tous
Merci RENAUDER j'ai essayer il me met une erreur d'excution 6 depassemenr de capacité

et j'ai mis le code comme ceci
Code:
Private Sub UserForm_Initialize()
Dim F As Integer
Dim strChemFich As String
     Dim Val1 As String, Val2 As Integer, Val3 As Date
strChemFich = "C:..\Mes documents\Gestion\Listes.txt"
     F = FreeFile '1er numéro libre
     Open strChemFich For Input As #F 'ouvert en lecture
     While Not EOF(F)
          Input #F, Val1, Val2, Val3 'lit chaque valeur de la ligne et les attribue aux variables correspondantes
          
          Me.Cbx_Titre.AddItem Val1
          Me.Cbx_Situation_Familliale.AddItem Val2
          Me.Cbx_Code_Emploi.AddItem Val3
     Wend
     Close #F

End Sub
je m'arrche les cheveux avec ca :eek:
pouvez vous m dire c'est quoi comme erreur
merci
 

RENAUDER

Nous a quitté
Repose en paix
Re : Alimenter des 8 combobox via un fichier txt

Bonjour,

Comme tu ne veux pas envoyer ton fichier texte voici un exemple.

Le fichier texte Listes.txt
Code:
Renaud;1;21/10/2009
RenaudA;2;22/10/2009
RenaudB;3;23/10/2009
RenaudC;4;24/10/2009
RenaudD;5;25/10/2009
Le code VBA
Code:
Private Sub UserForm_Initialize()
    Dim F As Integer
    Dim strChemFich As String
    Me.Cbx_Titre.Clear
    Me.Cbx_Situation_Familliale.Clear
    Me.Cbx_Code_Emploi.Clear
    strChemFich = ActiveWorkbook.Path & "\Listes.txt"
    F = FreeFile    '1er numéro libre
    Open strChemFich For Input As #F
    While Not EOF(F)
        Input #F, Val1 
        Donnees = Split(Val1, ";")
        Me.Cbx_Titre.AddItem Donnees(0)
        Me.Cbx_Situation_Familliale.AddItem Donnees(1)
        Me.Cbx_Code_Emploi.AddItem Donnees(2)
    Wend
    Close #F
End Sub
 

houssine77

XLDnaute Nouveau
Re : Alimenter des 8 combobox via un fichier txt

Bonjour à tous
Bonjour RENADER merci beaucoup ca marche il manquer juste le chemin que j'ai corrigé genial de viens de m'enlever un épine du pieds pour avancé dans mon projets merci encore
si ca peux servir a quelqu'un d'autre voila le code je metterais prochaiement la source sur le site keep continue
Houssine
Code:
Private Sub UserForm_Initialize()
    Dim F As Integer
    Dim strChemFich As String
    Me.Cbx_Titre.Clear
    Me.Cbx_Situation_Familliale.Clear
    Me.Cbx_Code_Emploi.Clear
    strChemFich = ActiveWorkbook.Path & "C:..\Bureau\Listes.txt"
    F = FreeFile    '1er numéro libre
    Open strChemFich For Input As #F
    While Not EOF(F)
        Input #F, Val1
        Donnees = Split(Val1, ";")
        Me.Cbx_Titre.AddItem Donnees(0)
        Me.Cbx_Situation_Familliale.AddItem Donnees(1)
        Me.Cbx_Code_Emploi.AddItem Donnees(2)
    Wend
    Close #F
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : Alimenter des 8 combobox via un fichier txt

Bonjour,


C'est normal que tu es un problème, ton fichier texte n'est pas cohérent.
Il a de tout des champs vides, des tirets, etc ...
Chaque champ doit être séparé par des point-virgule
Je ne sais d'où tu sors ce fichier mais il faut qu'il est une structure correcte sinon ça n'ira pas.
 

Discussions similaires

Statistiques des forums

Discussions
312 675
Messages
2 090 799
Membres
104 668
dernier inscrit
Mac-Breheny