Problème sur Userform ListIndex -1 Erreur d'Exécution '381' : Impossible de lire la propriété list.Index de table de propriétés non valide.

5 réponses
Avatar
Alex
Bonjour =E0 tous,

J'ai un Userform avec une combobox qui alimente une textbox lorsqu'on
selectionne une donn=E9es du menu d=E9roulant. Quand j'active mon
userform, pas de souci, le userform s'ouvre, la combobox s'alimente
bien avec les donn=E9es du menu d=E9roulant, et lorsqu'on s=E9lectionne une
donn=E9e, il m'alimente bien ma textbox. Jusque l=E0, tout est
merveilleux.

Seulement, voil=E0, lorsque j'appuie sur le bouton validation du
userform qui va alimenter une feuille, toutes mes instructions se
passe bien jusqu'au moment ou en fin de programme, je relance
Userform_Activate, j'ai le message suivant :

Erreur d'Ex=E9cution '381' : Impossible de lire la propri=E9t=E9 list.Index
de table de propri=E9t=E9s non valide.

Mes lignes de commandes pour Userform_Activate sont :

Private Sub UserForm_Activate()
DernierAlex =3D Range("Deroulant!A1").End(xlDown).Address
Gardien.RowSource =3D "Deroulant!A1:" & DernierAlex
Gardien.ListIndex =3D 0
End Sub

Mes lignes de comandes de Comboboxbox_change sont :

IndexAlex =3D Gardien.ListIndex
Alex =3D Gardien.List(IndexAlex)
DernierNumCol =3D Range("Deroulant!B1").End(xlDown).Address
NumCol.Value =3D WorksheetFunction.VLookup(Alex, Range("Deroulant!A1:" &
DernierNumCol), 2, False)

Le souci est que lorsqu'il lance Userform_Activate ma ligne
Gardien.ListIndex =3D 0
n'est pas lu et passe directement sur comboxboxchange ?

Quelqu'un aurait il la solution =E0 ce probl=E8me.
Avec mes remerciements.
Alex

5 réponses

Avatar
Le TROLL
On 22 juil, 12:57, Alex wrote:
Bonjour à tous,

J'ai un Userform avec une combobox qui alimente une textbox lorsqu'on
selectionne une données du menu déroulant.  Quand j'active mon
userform, pas de souci, le userform s'ouvre, la combobox s'alimente
bien avec les données du menu déroulant, et lorsqu'on sélectionne u ne
donnée, il m'alimente bien ma textbox. Jusque là, tout est
merveilleux.

Seulement, voilà, lorsque j'appuie sur le bouton validation du
userform qui va alimenter une feuille, toutes mes instructions se
passe bien jusqu'au moment ou en fin de programme, je relance
Userform_Activate, j'ai le message suivant :

Erreur d'Exécution '381' : Impossible de lire la propriété list.Ind ex
de table de propriétés non valide.

Mes lignes de commandes pour Userform_Activate sont :

Private Sub UserForm_Activate()
DernierAlex = Range("Deroulant!A1").End(xlDown).Address
Gardien.RowSource = "Deroulant!A1:" & DernierAlex
Gardien.ListIndex = 0
End Sub

Mes lignes de comandes de Comboboxbox_change sont :

IndexAlex = Gardien.ListIndex
Alex = Gardien.List(IndexAlex)
DernierNumCol = Range("Deroulant!B1").End(xlDown).Address
NumCol.Value = WorksheetFunction.VLookup(Alex, Range("Deroulant!A1:" &
DernierNumCol), 2, False)

Le souci est que lorsqu'il lance Userform_Activate ma ligne
Gardien.ListIndex = 0
n'est pas lu et passe directement sur comboxboxchange ?

Quelqu'un aurait il la solution à ce problème.
Avec mes remerciements.
Alex


---------------------------

Bonjour Alex,

Pas facile dee suivre avec tes noms personnels aux objets...
Nulle part tu n'évoques de saisie dans le comboBox, donc s'il n'y a
pas de saisie tu peux prendre une ListBox qui a un comportement plus
simple, déjà...
Sinon, dans l'activate, tu peux lui écrire en début :
combo1.SetFocus
Afin de lui donner le focus
Toutefois, il faudrait être certain que le comboBox ne perd pas ses
données et n'est pas vide, tu peux essayer de voir ça en faisant :
MsgBox Combo1.list(0) & vblf & Combo1.list(dernier index)

Au plaisir de te lire, cordialement.

Le Troll
------
LOGICIELS
http://irolog.free.fr
ROMANS
http://irolog.free.fr/_gratuit/10romansGratuits/index.htm
SITE
http://irolog.free.fr/joe/index.htm
-------------------------
-------------------------
Avatar
Alex
Merci Le troll pour ta réponse.
J'ai tenté mais ca n'a rien changé, cela beug toujours, mais je n'ai
pas de perte de données.
Le souci n'est pas sur l'ouverture du Userform et de son
fonctionnement, mais plûtot sur la réactivation avec remise à "zero"
des données. L'index est à -1 au lieu de 0, car il saute la ligne
Gardien.ListIndex = 0. Au lieu de la lire, il passe directement à
Gardien_change, habituellement j'ai pas ce type de souci, il
repositionne bien mon combobox sur la premiere ligne de ma liste
déroulante. Je ne comprends pas à quoi c'est du.

Sinon, j'ai regardé rapidement ton site perso, il est bien sympa.
J'aimerai bien savoir comment as tu fais pour ajouter le paiement par
CB depuis ton site, si tu pouvais me le dire ca serait sympa.

Merci pour ton aide.
Alex
Avatar
isabelle
bonjour Alex,

ajoute à ta procedure les deux lignes suivante au début et à la fin
Application.EnableEvents = False
Application.EnableEvents = True

isabelle

Le 2010-07-22 09:54, Alex a écrit :
Merci Le troll pour ta réponse.
J'ai tenté mais ca n'a rien changé, cela beug toujours, mais je n'ai
pas de perte de données.
Le souci n'est pas sur l'ouverture du Userform et de son
fonctionnement, mais plûtot sur la réactivation avec remise à "zero"
des données. L'index est à -1 au lieu de 0, car il saute la ligne
Gardien.ListIndex = 0. Au lieu de la lire, il passe directement à
Gardien_change, habituellement j'ai pas ce type de souci, il
repositionne bien mon combobox sur la premiere ligne de ma liste
déroulante. Je ne comprends pas à quoi c'est du.

Sinon, j'ai regardé rapidement ton site perso, il est bien sympa.
J'aimerai bien savoir comment as tu fais pour ajouter le paiement par
CB depuis ton site, si tu pouvais me le dire ca serait sympa.

Merci pour ton aide.
Alex


Avatar
Le TROLL
On 22 juil, 15:54, Alex wrote:
Merci Le troll pour ta réponse.
J'ai tenté mais ca n'a rien changé, cela beug toujours, mais je n'ai
pas de perte de données.
Le souci n'est pas sur l'ouverture du Userform et de son
fonctionnement, mais plûtot sur la réactivation avec remise à "zero "
des données. L'index est à -1 au lieu de 0, car il saute la ligne
Gardien.ListIndex = 0. Au lieu de la lire, il passe directement à
Gardien_change, habituellement j'ai pas ce type de souci, il
repositionne bien mon combobox sur la premiere ligne de ma liste
déroulante. Je ne comprends pas à quoi c'est du.

Sinon, j'ai regardé rapidement ton site perso, il est bien sympa.
J'aimerai bien savoir comment as tu fais pour ajouter le paiement par
CB depuis ton site, si tu pouvais me le dire ca serait sympa.

Merci pour ton aide.
Alex


===============

Bonjour Alex,

Voici le lien pour les paiements, c'est AlloPass (15%) et ils peuvent
payer la TVA à ta place (c'est ce que je fais, 19,6%), reste dans les
68% théoriquement soumis à l'I.S (30%), il reste 48% de C.A (et non de
marge = association (pas de bénéfice)), quand tu vois ces abus fiscau x
tu comprends vite pourquoi l'économie française tourne si mal...

http://www.allopass.com/fr

Si tu veux davantage d'infos, passe en mail via un de mes sites (maxi
50 Euros la transaction, marche aussi en tarification au temps), mais
je ne sais pas s'il ne faut pas être une société ou une association
(facile à faire), à voir...

Cordialement.

Joe.
Avatar
Alex
Merci beaucoup