Je voudrais alimenter toutes les ComboBox que j'ai placées dans un document
Word (pas dans une form mais directement dans le document) à partir des
plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires()
With ThisDocument.ChoixStagiaire ' nom de la ComboBox
.Clear
For Each Cellule In DocExcel.Sheets("Zones de
Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la
comboBox
.AddItem Cellule
Next Cellule
End With
End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du
document et qui en fonction de leur nom les alimente avec la plage de
cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour
l'objet Field) pour l'associer à la bonne plage
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
heureux-oli
Bonjour,
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField Dim stName as String For Each ff in ActiveDocument.FormFields stName = ff.Name AppelFocntion(stName) Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les donnée d'une plage Excel pour les introduire dans la ListEntries. Reste à définir la fonction par rapport aux besoins
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un document Word (pas dans une form mais directement dans le document) à partir des plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires() With ThisDocument.ChoixStagiaire ' nom de la ComboBox .Clear For Each Cellule In DocExcel.Sheets("Zones de Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la comboBox .AddItem Cellule Next Cellule End With End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du document et qui en fonction de leur nom les alimente avec la plage de cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour l'objet Field) pour l'associer à la bonne plage
Si quelqu'un peut m'aider....
Merci d'avance
_________________ Cordialement JC
Bonjour,
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField
Dim stName as String
For Each ff in ActiveDocument.FormFields
stName = ff.Name
AppelFocntion(stName)
Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les
donnée d'une plage Excel pour les introduire dans la ListEntries.
Reste à définir la fonction par rapport aux besoins
"nerim63" <nerim63@discussions.microsoft.com> a écrit dans le message de
news: BE81D8EF-64F5-45E5-8E27-464D663D1A0F@microsoft.com...
Bonjour,
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un
document
Word (pas dans une form mais directement dans le document) à partir des
plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires()
With ThisDocument.ChoixStagiaire ' nom de la ComboBox
.Clear
For Each Cellule In DocExcel.Sheets("Zones de
Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la
comboBox
.AddItem Cellule
Next Cellule
End With
End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du
document et qui en fonction de leur nom les alimente avec la plage de
cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour
l'objet Field) pour l'associer à la bonne plage
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField Dim stName as String For Each ff in ActiveDocument.FormFields stName = ff.Name AppelFocntion(stName) Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les donnée d'une plage Excel pour les introduire dans la ListEntries. Reste à définir la fonction par rapport aux besoins
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un document Word (pas dans une form mais directement dans le document) à partir des plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires() With ThisDocument.ChoixStagiaire ' nom de la ComboBox .Clear For Each Cellule In DocExcel.Sheets("Zones de Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la comboBox .AddItem Cellule Next Cellule End With End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du document et qui en fonction de leur nom les alimente avec la plage de cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour l'objet Field) pour l'associer à la bonne plage
Si quelqu'un peut m'aider....
Merci d'avance
_________________ Cordialement JC
nerim63
Bonjour,
Merci de votre réponse. Je sais que l'objet Formfield dispose de la propriété Name mais le problème est qu'une Combobox (outil "Zone de liste déroulante" de la barre d'outils "boite à outils contrôles" et non outil "Liste déroulante de formulaire" de la barre d'outils "formulaire") n'est pas un champ de formulaire (FormField) mais un contrôle de formulaire (Field) et que l'objet Field n'a pas de propriété Name.
Si on place une liste déroulante dans un UserForm, on peut utiliser la collection Controls et la propriété Name de l'objet Control. Mais si cette liste est placée directement dans le document, cela ne marche pas
Or je ne peux pas utiliser de Liste déroulante de formulaire car leur capacité est limitée à 25 éléments
Remarque : j'utilise Word 2003 et non Word 2007 - Y a-t-il des différences la dessus
Cordialement
JC
Bonjour,
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField Dim stName as String For Each ff in ActiveDocument.FormFields stName = ff.Name AppelFocntion(stName) Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les donnée d'une plage Excel pour les introduire dans la ListEntries. Reste à définir la fonction par rapport aux besoins
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un document Word (pas dans une form mais directement dans le document) à partir des plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires() With ThisDocument.ChoixStagiaire ' nom de la ComboBox .Clear For Each Cellule In DocExcel.Sheets("Zones de Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la comboBox .AddItem Cellule Next Cellule End With End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du document et qui en fonction de leur nom les alimente avec la plage de cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour l'objet Field) pour l'associer à la bonne plage
Si quelqu'un peut m'aider....
Merci d'avance
_________________ Cordialement JC
Bonjour,
Merci de votre réponse.
Je sais que l'objet Formfield dispose de la propriété Name mais le problème
est qu'une Combobox (outil "Zone de liste déroulante" de la barre d'outils
"boite à outils contrôles" et non outil "Liste déroulante de formulaire" de
la barre d'outils "formulaire") n'est pas un champ de formulaire (FormField)
mais un contrôle de formulaire (Field) et que l'objet Field n'a pas de
propriété Name.
Si on place une liste déroulante dans un UserForm, on peut utiliser la
collection Controls et la propriété Name de l'objet Control. Mais si cette
liste est placée directement dans le document, cela ne marche pas
Or je ne peux pas utiliser de Liste déroulante de formulaire car leur
capacité est limitée à 25 éléments
Remarque : j'utilise Word 2003 et non Word 2007 - Y a-t-il des différences
la dessus
Cordialement
JC
Bonjour,
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField
Dim stName as String
For Each ff in ActiveDocument.FormFields
stName = ff.Name
AppelFocntion(stName)
Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les
donnée d'une plage Excel pour les introduire dans la ListEntries.
Reste à définir la fonction par rapport aux besoins
"nerim63" <nerim63@discussions.microsoft.com> a écrit dans le message de
news: BE81D8EF-64F5-45E5-8E27-464D663D1A0F@microsoft.com...
Bonjour,
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un
document
Word (pas dans une form mais directement dans le document) à partir des
plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires()
With ThisDocument.ChoixStagiaire ' nom de la ComboBox
.Clear
For Each Cellule In DocExcel.Sheets("Zones de
Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la
comboBox
.AddItem Cellule
Next Cellule
End With
End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du
document et qui en fonction de leur nom les alimente avec la plage de
cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour
l'objet Field) pour l'associer à la bonne plage
Merci de votre réponse. Je sais que l'objet Formfield dispose de la propriété Name mais le problème est qu'une Combobox (outil "Zone de liste déroulante" de la barre d'outils "boite à outils contrôles" et non outil "Liste déroulante de formulaire" de la barre d'outils "formulaire") n'est pas un champ de formulaire (FormField) mais un contrôle de formulaire (Field) et que l'objet Field n'a pas de propriété Name.
Si on place une liste déroulante dans un UserForm, on peut utiliser la collection Controls et la propriété Name de l'objet Control. Mais si cette liste est placée directement dans le document, cela ne marche pas
Or je ne peux pas utiliser de Liste déroulante de formulaire car leur capacité est limitée à 25 éléments
Remarque : j'utilise Word 2003 et non Word 2007 - Y a-t-il des différences la dessus
Cordialement
JC
Bonjour,
Dans la boucle on peut récupérer le nom de la liste déroulante
dim ff as FormField Dim stName as String For Each ff in ActiveDocument.FormFields stName = ff.Name AppelFocntion(stName) Next ff
En utilisant judicieusement le nom du FormFields, on peut récupérer les donnée d'une plage Excel pour les introduire dans la ListEntries. Reste à définir la fonction par rapport aux besoins
Je voudrais alimenter toutes les ComboBox que j'ai placées dans un document Word (pas dans une form mais directement dans le document) à partir des plages nommées dans un classeur Excel.
J'utilise le code suivant qui marche bien :
Sub RemplissageStagiaires() With ThisDocument.ChoixStagiaire ' nom de la ComboBox .Clear For Each Cellule In DocExcel.Sheets("Zones de Liste").Range("ChoixStagiaire") 'la plage Excel porte le même nom que la comboBox .AddItem Cellule Next Cellule End With End Sub
mais qui m'oblige à écrire une procédure par ComboBox
Je voudrais écrire une seule procédure qui balaye toutes les comboBox du document et qui en fonction de leur nom les alimente avec la plage de cellules correspondante.
mais avec un code du type For each Liste in thisdocument.fields
je n'arrive pas à identifier chaque ComboBox (pas de propriété Name pour l'objet Field) pour l'associer à la bonne plage
Si quelqu'un peut m'aider....
Merci d'avance
_________________ Cordialement JC
nerim63
Re-bonjour
Suite du message précédent
Tous ces contrôles (ComboBox, Cases à cocher, boutons de commandes, Cases d'option, Toupies...) sont en réalité des contrôles ActiveX
Le problème revient donc à se demander : comment peut lister les contrôles ActiveX d'un document et accéder à leur noms
Cordialement JC
Re-bonjour
Suite du message précédent
Tous ces contrôles (ComboBox, Cases à cocher, boutons de commandes, Cases
d'option, Toupies...) sont en réalité des contrôles ActiveX
Le problème revient donc à se demander : comment peut lister les contrôles
ActiveX d'un document et accéder à leur noms