GNT sans publicité, site mobile, fonctionnalitées exclusives...

VBA - Un objet comme argument

Le
Patrick
Bonjour,

Dans un UserForm, j'ai créé une fonction dont l'argument est deux ListBoxes,
comme ceci :

Private Sub AjoutListe(ByVal ListeDepart as ListBox, ByVal ListeArrivee as
ListBox)

Comme le UF contient plusieurs ListBoxes auxquelles s'appliquent le même
traitement, cela évitera de répéter plusieurs fois le même code. Et l'intérêt
de faire comme cela est que, ensuite, je peux utiliser les propriétés de ces
objects ListBox.

Comme il y a des erreurs, je pensais mettre 2 variables dans la procédures,
aussi avec le type ListBox et je les définis au début de la procédure comme
ceci :

Private Sub AjoutListe(ByVal ListeDepart as String, ByVal ListeArrivee as
String)
Dim lboDepart As Object
Dim lboArrivee As Object
'
Set lboDepart = Me.Controls(ListeDepart)
Set lboArrivee = Me.Controls(ListeArrivee)

Mais cela ne fonctionne jamais.

Auriez-vous une idée ?

Merci pour votre aide.

--
Patrick
Lire les 3 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick
Le #4070781
En fait, si je déclare les listes comem ceci, cela fonctionne :
Dim lboDepart As Object
Dim lboArrivee As Object

Mais je n'ai pas accès à leurs propriétés directement. Il faut que je les
connaisse pour les taper à la main.

Mais si je les déclare comme ceci, cela ne fonctionne pas ;
Dim lboDepart As ListBox
Dim lboArrivee As ListBox

Merci.

--
Patrick


"Patrick" wrote:

Bonjour,

Dans un UserForm, j'ai créé une fonction dont l'argument est deux ListBoxes,
comme ceci :

Private Sub AjoutListe(ByVal ListeDepart as ListBox, ByVal ListeArrivee as
ListBox)

Comme le UF contient plusieurs ListBoxes auxquelles s'appliquent le même
traitement, cela évitera de répéter plusieurs fois le même code. Et l'intérêt
de faire comme cela est que, ensuite, je peux utiliser les propriétés de ces
objects ListBox.

Comme il y a des erreurs, je pensais mettre 2 variables dans la procédures,
aussi avec le type ListBox et je les définis au début de la procédure comme
ceci :

Private Sub AjoutListe(ByVal ListeDepart as String, ByVal ListeArrivee as
String)
Dim lboDepart As Object
Dim lboArrivee As Object
'
Set lboDepart = Me.Controls(ListeDepart)
Set lboArrivee = Me.Controls(ListeArrivee)

Mais cela ne fonctionne jamais.

Auriez-vous une idée ?

Merci pour votre aide.

--
Patrick


anonymousA
Le #4070541
Bonjour

si tu écrivais as MSFORMS.Listbox ca devrait fonctionner

A+

Patrick wrote:
En fait, si je déclare les listes comem ceci, cela fonctionne :
Dim lboDepart As Object
Dim lboArrivee As Object

Mais je n'ai pas accès à leurs propriétés directement. Il faut qu e je les
connaisse pour les taper à la main.

Mais si je les déclare comme ceci, cela ne fonctionne pas ;
Dim lboDepart As ListBox
Dim lboArrivee As ListBox

Merci.

--
Patrick


"Patrick" wrote:

Bonjour,

Dans un UserForm, j'ai créé une fonction dont l'argument est deux L istBoxes,
comme ceci :

Private Sub AjoutListe(ByVal ListeDepart as ListBox, ByVal ListeArrivee as
ListBox)

Comme le UF contient plusieurs ListBoxes auxquelles s'appliquent le m ême
traitement, cela évitera de répéter plusieurs fois le même code . Et l'intérêt
de faire comme cela est que, ensuite, je peux utiliser les propriét és de ces
objects ListBox.

Comme il y a des erreurs, je pensais mettre 2 variables dans la procé dures,
aussi avec le type ListBox et je les définis au début de la procé dure comme
ceci :

Private Sub AjoutListe(ByVal ListeDepart as String, ByVal ListeArrivee as
String)
Dim lboDepart As Object
Dim lboArrivee As Object
'
Set lboDepart = Me.Controls(ListeDepart)
Set lboArrivee = Me.Controls(ListeArrivee)

Mais cela ne fonctionne jamais.

Auriez-vous une idée ?

Merci pour votre aide.

--
Patrick




Patrick
Le #4069281
Merci, c'est tout à fait cela.

--
Patrick


"anonymousA" wrote:

Bonjour

si tu écrivais as MSFORMS.Listbox ca devrait fonctionner

A+

Patrick wrote:
En fait, si je déclare les listes comem ceci, cela fonctionne :
Dim lboDepart As Object
Dim lboArrivee As Object

Mais je n'ai pas accès à leurs propriétés directement. Il faut que je les
connaisse pour les taper à la main.

Mais si je les déclare comme ceci, cela ne fonctionne pas ;
Dim lboDepart As ListBox
Dim lboArrivee As ListBox

Merci.

--
Patrick


"Patrick" wrote:

Bonjour,

Dans un UserForm, j'ai créé une fonction dont l'argument est deux ListBoxes,
comme ceci :

Private Sub AjoutListe(ByVal ListeDepart as ListBox, ByVal ListeArrivee as
ListBox)

Comme le UF contient plusieurs ListBoxes auxquelles s'appliquent le même
traitement, cela évitera de répéter plusieurs fois le même code.. Et l'intérêt
de faire comme cela est que, ensuite, je peux utiliser les propriétés de ces
objects ListBox.

Comme il y a des erreurs, je pensais mettre 2 variables dans la procédures,
aussi avec le type ListBox et je les définis au début de la procédure comme
ceci :

Private Sub AjoutListe(ByVal ListeDepart as String, ByVal ListeArrivee as
String)
Dim lboDepart As Object
Dim lboArrivee As Object
'
Set lboDepart = Me.Controls(ListeDepart)
Set lboArrivee = Me.Controls(ListeArrivee)

Mais cela ne fonctionne jamais.

Auriez-vous une idée ?

Merci pour votre aide.

--
Patrick








Publicité
Suivre les réponses
Poster une réponse
Anonyme