Liste déroulante à partir d'un fichier Excel

DeepXtaZy Messages postés 40 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 6 janvier 2004 - 24 juin 2003 à 09:08
DeepXtaZy Messages postés 40 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 6 janvier 2004 - 26 juin 2003 à 17:30
Bonjour,

Je ne sais pas si je poste bien sur le bon forum...
Je souhaiterais créer une liste déroulant sous word 97 à partir d'un fichier Excel 97 (Si cela est possible).
J'ai besoin d'aide car je ne sais pas comment faire.
Merci d'avance
Julien

7 réponses

Thiefol Messages postés 7 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 26 juin 2003
24 juin 2003 à 17:37
Salut Julien !

Dans la fenêtre VBA de Word, vérifie au préalable, à l'aide du menu Outils\Références, qu'est bien chargée la Microsoft Excel n.0 Object Library.
Si tel n'est pas le cas, coche ce choix et fais OK.
Voici pour le code, en considérant que tu bosses sur la feuille Mafeuille du classeur monfichier.xls, que tu as nommé ta liste déroulante cboMachin, et que tu modifies le chemin d'accès de l'exemple pour l'adapter à ton cas :

Private Sub UserForm_Initialize()
Dim xlApp As New Excel.Application
Dim Monfichier As Workbook
Dim Mafeuille As Worksheet
Set Monfichier = xlApp.Workbooks.Open("D:\transfert thierry\Macros\Monfichier.xls")
Set Mafeuille = xlApp.Sheets("Mafeuille")
i = 1 'i est le n° de la ligne où commence ton choix de valeurs
Do
cboMachin.AddItem (Mafeuille.Range("A" & i).Value)
i = i + 1
Loop Until Mafeuille.Range("A" & i).Value = ""
Monfichier.Close
xlApp.Quit
End Sub

Voilà ! Si jamais tu connais le truc pour faire la même chose, mais à partir d'un champ d'une table Access, merci de me faire signe, car je commence à désespérer ! @+

Thiefol :big)
0
Thiefol Messages postés 7 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 26 juin 2003
24 juin 2003 à 17:39
Salut Julien !

Dans la fenêtre VBA de Word, vérifie au préalable, à l'aide du menu Outils\Références, qu'est bien chargée la Microsoft Excel n.0 Object Library.
Si tel n'est pas le cas, coche ce choix et fais OK.
Voici pour le code, en considérant que tu bosses sur la feuille Mafeuille du classeur monfichier.xls, que tu as nommé ta liste déroulante cboMachin, et que tu modifies le chemin d'accès de l'exemple pour l'adapter à ton cas :

Private Sub UserForm_Initialize()
Dim xlApp As New Excel.Application
Dim Monfichier As Workbook
Dim Mafeuille As Worksheet
Set Monfichier = xlApp.Workbooks.Open("D:\transfert thierry\Macros\Monfichier.xls")
Set Mafeuille = xlApp.Sheets("Mafeuille")
i = 1 'i est le n° de la ligne où commence ton choix de valeurs
Do
cboMachin.AddItem (Mafeuille.Range("A" & i).Value)
i = i + 1
Loop Until Mafeuille.Range("A" & i).Value = ""
Monfichier.Close
xlApp.Quit
End Sub

Voilà ! Si jamais tu connais le truc pour faire la même chose, mais à partir d'un champ d'une table Access, merci de me faire signe, car je commence à désespérer ! @+

Thiefol :big)
0
DeepXtaZy Messages postés 40 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 6 janvier 2004
25 juin 2003 à 09:08
Merci beaucoup, tu m'enleves une grosse épine du pied.
Je ne comprends pas, J'ai un probleme sur :

MenuContact.AddItem (Feuille.Range("B" & i).Value)

Lorsque je tape ".additem", normalement des que je tape le point, un liste déroulante devrait apparaitre mais là non.
Je ne vois pas pourquoi. J'ai pourtant bien nommé mon menu déroulant "MenuContact"
Julien
0
Thiefol Messages postés 7 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 26 juin 2003
25 juin 2003 à 12:59
Après vérification, il s'avère que la liste de choix ne se déroule que si le nom du combo box est bien orthographié.
Es-tu bien sûr de ne pas omettre un caractère ?
Ou "MenuContact" est-il bien le "name", et pas la "caption" de ton menu déroulant ?
Même si tu n'as pas la liste de choix, tu peux taper le code.
Et le moment de vérité est quand tu lances ta macro.
Fonctionne-t-elle malgré tout (on ne sait jamais !) ?

Thiefol :big)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DeepXtaZy Messages postés 40 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 6 janvier 2004
25 juin 2003 à 13:36
Merci encore beaucoup Thiefol ;-)
Ton code m'a vraiment servi.
Merci a Thierry qui m'a aidé.
En fait il fallait que je mette ThisDocument.MenuContact.AddItem
car j'ai mis mon menu déroulant que une simple feuille word
:-)
0
Thiefol Messages postés 7 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 26 juin 2003
25 juin 2003 à 13:50
Je t'en prie Julien !
Comme ça, tu t'es fait aider par 2 Thierry ;-)
En fait, tu n'avais pas mis ton menu déroulant dans un formulaire mais dans un document Word ?
J'essaierai à l'occasion, tu viens de m'ouvrir de nouveaux horizons !
Si jamais tu as vent de comment faire la même chose avec des données en provenance d'Access, don't hesitate.
@ 1 2 C 4

Thiefol :big)
0
DeepXtaZy Messages postés 40 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 6 janvier 2004
26 juin 2003 à 17:30
Si je connais la reponse a propos d'access, ne t'inquiete pas, tu seras le premier informer.
Merci encore :-)
0
Rejoignez-nous