OVH Cloud OVH Cloud

Affecter un tableau à une variable

4 réponses
Avatar
Pour_Forums
Bonjour,
J'ai créé un userform contenant une combobox dont le contenu peut
changer en fonction de la valeur de boutons-radios. Pour cela, je crée
différents tableaux (array), correspondants aux contenus possibles de ma
combobox. J'affecte ensuite le tableau correct à la combobox.
Apparemment l'affectation d'un tableau à une variable tableau ne
fonctionne pas. Y-a-t-il une erreur, ou doit-on affecter valuer par valeur ?

Merci de votre aide,

Alain


Tab_inscrits et tab_non_inscrits sont des tableaux déclarés en global
et déjà remplis. Liste est le nom de la combobox.

Sub Remplir_liste()

Dim i As Integer
Dim Tableau() As String

If Inscrits Then Tableau = Tab_inscrits Else
If Non_Inscrits Then Tableau = tab_non_inscrits

Liste.List() = Tableau

End Sub

4 réponses

Avatar
J-Dan
bonjour Pour Forums,

tu ne peux pas declarer un tableau en String ( même s'il
fait chaud et qu'il est bien roulé ).
Déclare le en Variant

J-Dan

-----Message d'origine-----
Bonjour,
J'ai créé un userform contenant une combobox dont le
contenu peut

changer en fonction de la valeur de boutons-radios. Pour
cela, je crée

différents tableaux (array), correspondants aux contenus
possibles de ma

combobox. J'affecte ensuite le tableau correct à la
combobox.

Apparemment l'affectation d'un tableau à une variable
tableau ne

fonctionne pas. Y-a-t-il une erreur, ou doit-on affecter
valuer par valeur ?


Merci de votre aide,

Alain


Tab_inscrits et tab_non_inscrits sont des tableaux
déclarés en global

et déjà remplis. Liste est le nom de la combobox.

Sub Remplir_liste()

Dim i As Integer
Dim Tableau() As String

If Inscrits Then Tableau = Tab_inscrits Else
If Non_Inscrits Then Tableau = tab_non_inscrits

Liste.List() = Tableau

End Sub

.



Avatar
Nicolas B.
Salut J-Dan,

Euh, t'es sûr ?

Essaye ça :
Dim Arr(1) As String
Arr(0) = "a"
Arr(1) = "b"
MsgBox Arr(0) & Arr(1)


A+
Nicolas B.


J-Dan wrote:
bonjour Pour Forums,

tu ne peux pas declarer un tableau en String ( même s'il
fait chaud et qu'il est bien roulé ).
Déclare le en Variant

J-Dan


-----Message d'origine-----
Bonjour,
J'ai créé un userform contenant une combobox dont le


contenu peut

changer en fonction de la valeur de boutons-radios. Pour


cela, je crée

différents tableaux (array), correspondants aux contenus


possibles de ma

combobox. J'affecte ensuite le tableau correct à la


combobox.

Apparemment l'affectation d'un tableau à une variable


tableau ne

fonctionne pas. Y-a-t-il une erreur, ou doit-on affecter


valuer par valeur ?

Merci de votre aide,

Alain


Tab_inscrits et tab_non_inscrits sont des tableaux


déclarés en global

et déjà remplis. Liste est le nom de la combobox.

Sub Remplir_liste()

Dim i As Integer
Dim Tableau() As String

If Inscrits Then Tableau = Tab_inscrits Else
If Non_Inscrits Then Tableau = tab_non_inscrits

Liste.List() = Tableau

End Sub

.






Avatar
michdenis
Bonjour,

Voici diverses alternatives selon le tableau déclaré :

'--------------------------------------
A ) Tableau déclaré à 2 dimensions mais affiche seulement une colonne dans le combobox

Dim T(0 To 0, 0 To 1)

T(0, 0) = "Toto"
T(0, 1) = "tatat"

Me.ComboBox1.List = Application.Transpose(T)

'--------------------------------------
B ) Tableau déclaré à une dimension et affichant qu'une colonne

Dim T()
'T = Array("Toto", "Bozo")
Me.ComboBox1.List = Application.Transpose(T)

'--------------------------------------
C ) Tableau déclaré à 2 dimension et affichant les 2 colonnes :

Dim T(0 To 1, 0 To 1)

T(0, 0) = "Toto"
T(0, 1) = "tatat"
T(1, 0) = "toto1"
T(1, 1) = "Toto2"

Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.ColumnWidths = "25;25"

Me.ComboBox1.List = T
'--------------------------------------


Salutations!


"Pour_Forums" a écrit dans le message de news:
Bonjour,
J'ai créé un userform contenant une combobox dont le contenu peut
changer en fonction de la valeur de boutons-radios. Pour cela, je crée
différents tableaux (array), correspondants aux contenus possibles de ma
combobox. J'affecte ensuite le tableau correct à la combobox.
Apparemment l'affectation d'un tableau à une variable tableau ne
fonctionne pas. Y-a-t-il une erreur, ou doit-on affecter valuer par valeur ?

Merci de votre aide,

Alain


Tab_inscrits et tab_non_inscrits sont des tableaux déclarés en global
et déjà remplis. Liste est le nom de la combobox.

Sub Remplir_liste()

Dim i As Integer
Dim Tableau() As String

If Inscrits Then Tableau = Tab_inscrits Else
If Non_Inscrits Then Tableau = tab_non_inscrits

Liste.List() = Tableau

End Sub
Avatar
Michel B.
Bonjour,

Je me permets une petite observation !

Si je ne m'abuse, le tableau n'est pas de type "string"
dans la déclaration, ce sont bien les éléments qui sont
de type "string". La notion des types sur les objets me
semble très fondamentale.

Michel B.

-----Message d'origine-----
Salut J-Dan,

Euh, t'es sûr ?

Essaye ça :
Dim Arr(1) As String
Arr(0) = "a"
Arr(1) = "b"
MsgBox Arr(0) & Arr(1)


A+
Nicolas B.


J-Dan wrote:
bonjour Pour Forums,

tu ne peux pas declarer un tableau en String ( même
s'il


fait chaud et qu'il est bien roulé ).
Déclare le en Variant

J-Dan


-----Message d'origine-----
Bonjour,
J'ai créé un userform contenant une combobox dont le


contenu peut

changer en fonction de la valeur de boutons-radios.
Pour




cela, je crée

différents tableaux (array), correspondants aux
contenus




possibles de ma

combobox. J'affecte ensuite le tableau correct à la


combobox.

Apparemment l'affectation d'un tableau à une variable


tableau ne

fonctionne pas. Y-a-t-il une erreur, ou doit-on
affecter




valuer par valeur ?

Merci de votre aide,

Alain


Tab_inscrits et tab_non_inscrits sont des tableaux


déclarés en global

et déjà remplis. Liste est le nom de la combobox.

Sub Remplir_liste()

Dim i As Integer
Dim Tableau() As String

If Inscrits Then Tableau = Tab_inscrits Else
If Non_Inscrits Then Tableau = tab_non_inscrits

Liste.List() = Tableau

End Sub

.


.