Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA + Composant Objet

3 réponses
Avatar
Jocaste
Bonjour =E0 tous,

Je me permet de renir avec ce probl=E8me et je prie=20
l'assembl=E9e de bien vouloir m'en excuser.

En fait j'ai un document de 5 pages qui contiennent=20
chacune un tableau, dans chaque case de la derni=E8re col.
J'ai un ComboBox. j'ai essayer ce code mais cela ne va pas
Pouriez-vous m'aider

Private Sub Document_Open()
Dim MyObject As Object
Statut =3D Array("Yes", "No", "Incertain", "Bloquant")
For Each MyObjet In ActiveDocument.InlineShapes
If MyObjet.Type =3D wdInlineShapeOLEControlObject Then
MyObject.List =3D Statut
End If
Next
End Sub
=20
Ce que je voudrait =E9viter c'est de devoir taper un paquet=20
de code tel que le suivant

ComboBox1.List =3D Statut
ComboBox2.List =3D Statut
ComboBox3.List =3D Statut
ComboBox4.List =3D Statut
ComboBox5.List =3D Statut
ComboBox6.List =3D Statut
.........
ComboBoxZ.List =3D Statut

Merci d'avance pour votre aide
.

3 réponses

Avatar
papou
Bonjour
Il te faut utiliser la méthode .AddItem et boucler sur les éléments de ton
tableau de valeurs :
Exemple
For i = LBound(statut) To UBound(statut)
MyObject.AddItem(i)
Next i
Cordialement
Pascal


"Jocaste" a écrit dans le message de
news: 1989c01c41c77$1848d9d0$
Bonjour à tous,

Je me permet de renir avec ce problème et je prie
l'assemblée de bien vouloir m'en excuser.

En fait j'ai un document de 5 pages qui contiennent
chacune un tableau, dans chaque case de la dernière col.
J'ai un ComboBox. j'ai essayer ce code mais cela ne va pas
Pouriez-vous m'aider

Private Sub Document_Open()
Dim MyObject As Object
Statut = Array("Yes", "No", "Incertain", "Bloquant")
For Each MyObjet In ActiveDocument.InlineShapes
If MyObjet.Type = wdInlineShapeOLEControlObject Then
MyObject.List = Statut
End If
Next
End Sub

Ce que je voudrait éviter c'est de devoir taper un paquet
de code tel que le suivant

ComboBox1.List = Statut
ComboBox2.List = Statut
ComboBox3.List = Statut
ComboBox4.List = Statut
ComboBox5.List = Statut
ComboBox6.List = Statut
.........
ComboBoxZ.List = Statut

Merci d'avance pour votre aide
.
Avatar
papou
Heu !
MyObject.AddItem(Statut(i))
Pardon !

"papou" a écrit dans le message de news:

Bonjour
Il te faut utiliser la méthode .AddItem et boucler sur les éléments de ton
tableau de valeurs :
Exemple
For i = LBound(statut) To UBound(statut)
MyObject.AddItem(i)
Next i
Cordialement
Pascal


"Jocaste" a écrit dans le message de
news: 1989c01c41c77$1848d9d0$
Bonjour à tous,

Je me permet de renir avec ce problème et je prie
l'assemblée de bien vouloir m'en excuser.

En fait j'ai un document de 5 pages qui contiennent
chacune un tableau, dans chaque case de la dernière col.
J'ai un ComboBox. j'ai essayer ce code mais cela ne va pas
Pouriez-vous m'aider

Private Sub Document_Open()
Dim MyObject As Object
Statut = Array("Yes", "No", "Incertain", "Bloquant")
For Each MyObjet In ActiveDocument.InlineShapes
If MyObjet.Type = wdInlineShapeOLEControlObject Then
MyObject.List = Statut
End If
Next
End Sub

Ce que je voudrait éviter c'est de devoir taper un paquet
de code tel que le suivant

ComboBox1.List = Statut
ComboBox2.List = Statut
ComboBox3.List = Statut
ComboBox4.List = Statut
ComboBox5.List = Statut
ComboBox6.List = Statut
.........
ComboBoxZ.List = Statut

Merci d'avance pour votre aide
.





Avatar
papou
Décidemment !
Je me suis rendu compte que tu devais avoir un problème pour la
"reconnaissance" de ton contrôle par VBA.
Après un test voici ce que j'ai modifié et qui fonctionne chez moi (Word
2000)
Dim Statut As Variant
Statut = Array("Yes", "No", "Incertain", "Bloquant")
Dim obj As InlineShape
For Each obj In ActiveDocument.InlineShapes
If obj.Type = wdInlineShapeOLEControlObject Then
Set LeCombo = obj.OLEFormat.Object
For i = LBound(Statut) To UBound(Statut)
LeCombo.AddItem (Statut(i))
Next i
End If
Next obj

Cordialement
Pascal

"papou" a écrit dans le message de news:

Heu !
MyObject.AddItem(Statut(i))
Pardon !

"papou" a écrit dans le message de news:

Bonjour
Il te faut utiliser la méthode .AddItem et boucler sur les éléments de
ton


tableau de valeurs :
Exemple
For i = LBound(statut) To UBound(statut)
MyObject.AddItem(i)
Next i
Cordialement
Pascal


"Jocaste" a écrit dans le message
de


news: 1989c01c41c77$1848d9d0$
Bonjour à tous,

Je me permet de renir avec ce problème et je prie
l'assemblée de bien vouloir m'en excuser.

En fait j'ai un document de 5 pages qui contiennent
chacune un tableau, dans chaque case de la dernière col.
J'ai un ComboBox. j'ai essayer ce code mais cela ne va pas
Pouriez-vous m'aider

Private Sub Document_Open()
Dim MyObject As Object
Statut = Array("Yes", "No", "Incertain", "Bloquant")
For Each MyObjet In ActiveDocument.InlineShapes
If MyObjet.Type = wdInlineShapeOLEControlObject Then
MyObject.List = Statut
End If
Next
End Sub

Ce que je voudrait éviter c'est de devoir taper un paquet
de code tel que le suivant

ComboBox1.List = Statut
ComboBox2.List = Statut
ComboBox3.List = Statut
ComboBox4.List = Statut
ComboBox5.List = Statut
ComboBox6.List = Statut
.........
ComboBoxZ.List = Statut

Merci d'avance pour votre aide
.