Liste deroulante vers un fichier fermé pb de sauvegarde
Bonjour le forum,
Je suis actuellement en stage et je suis amené à réaliser un fichier excel qui sera sur un réseau.
Dans ce fichier figurera des listes déroulantes pour faciliter la saisie et éviter les erreurs. La base de données de ces listes est dans un autre fichier excel modifiable par un administrateur. J'ai trouvé un bout de code sur internet que j'ai joyeusement adapté à ma situation. J'ai crée mes listes avec chacune un nom, celle-ci sont en liaison avec le fichier fermé.
Donc à l'heure actuel, j'arrive à accéder à mon fichier fermé et à utiliser la liste déroulante. Jusque là tous va bien mais voici mon problème: dès que je ferme mon fichier avec mes listes déroulantes et que le ré-ouvre la liste déroulante est à nouveau vide. Je précise que j'ai de vague connaissance en programmation mais aucune en vba. Voici le code:
Sub MisejourCombobox()
Dim Chemin As String, fourniture As Variant, Nb As Long
Dim Conn As Connection, Rst As New ADODB.Recordset
Chemin = "C:\Mes Docs" 'À déterminer
'le nom du document exemple est Test.xls À déterminer
'la permière de la liste est une étiquette de colonne.
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & "\Bibliotheque.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'Ouvrir le "RecordSet" (Tableau des données) désiré.
Rst.Open "Select * from [fourniture]", Conn, adOpenKeyset, adLockOptimistic
Nb = Rst.RecordCount
fourniture = Rst.GetRows
Worksheets(2).ComboBox13.Clear
For b = 0 To Nb - 1
Worksheets(2).ComboBox13.AddItem fourniture(0, b)
Next
Conn.Close
Set Rst = Nothing: Set Conn = Nothing
Worksheets(2).ComboBox13.Value = ""
'End If
End SubVoila, je dois dire que je ne comprends pas toutes les lignes de ce codes, donc peut etre que la solution est évidente.
Merci d'avance.
Cordialement,
Bonjour,
Je bloque également.
Un moyen de contourner :
- créer un onglet listes dans ton classeur (que tu protégeras avec un mot de passe puis que tu masqueras)
- dans cet onglet recréer tes listes en dynamiques : ne pas saisir les valeurs mais faire des liaisons avec les zones externes contenant tes listes.
- créer les validations en conséquence.
Les modification dans tes listes externes seront prises en compte dans ton tableau
Sinon va sur le site de Jacques Boisgontier sur cette page (validation classeur fermé)
http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#ClasseurFerme
Merci pour ta réponse, je vais essayer des aujourd'hui. Par contre je me pose une question: Cette solution ne va t-elle pas ralentir mon fichier si les données importées sont importantes? (plus de 10000 cellules?)
Sinon j'ai déjà vu le site Jacques Boisgontier, mais je n'ai pas réussi à appliquer sa solution, peut être ne marche t-elle pas pour les listes déroulantes..
Bref Je vais quand même réessayer tous cela dans la journée....