(sous excel 2000, win 98)
j'ai un probleme avec une listbox:
ma listbox a une source avec nombre de lignes variables. le click sur cette
listbox permet de cliquer sur un bouton pour supprimer une ligne 'source',
de remonter les autres, et d'effacer la derniere...
tant que la listbox n'est pas remplie, tout va bien, ma procedure marche au
poil. si la capacité de la listbox est plus petite que le nombre de lignes a
afficher, une barre de defilement verticale apparait tres logiquement, mais
si je descends avec cette barre, et que je selectionne une ligne qui vient
d'apparaitre, ma procedure foire "erreur 1004, la méthode clearcontents a
échoué"...
je suis perplexe, et ne sait plus quoi faire. si vous avez une idée, ou que
vous voulez plus de précisions, n'hésitez pas.
un grand merci
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
mousnynao
Bonjour,
L'erreur 1004 est une erreur de dépassement de plage.
Sur ces lignes :
nbressais = .Range("B4").Value ' nbressais as byte numordre = .Range("F4").Value 'numordre as byte
Je vois 2 problèmes potentiels !
1.) Par défault le Range(XX).Value n'est pas de type Byte. Par conséquent vous faite une affection sans contrôlé le type.
2.) Outre le contrôle définit par la ligne :
If nbressais = numordre Then
Vous n'effectuez pas de contrôle direct sur ces variables. Il serait souhaitable de valider que les valeurs de ces variables sont dans un range permis.
Ceci dit, à mon avis si vous réglé cette situation ça devrait rouler :)
mousnynao!
-----Message d'origine----- bonjour,
(sous excel 2000, win 98) j'ai un probleme avec une listbox: ma listbox a une source avec nombre de lignes variables. le click sur cette
listbox permet de cliquer sur un bouton pour supprimer une ligne 'source',
de remonter les autres, et d'effacer la derniere... tant que la listbox n'est pas remplie, tout va bien, ma procedure marche au
poil. si la capacité de la listbox est plus petite que le nombre de lignes a
afficher, une barre de defilement verticale apparait tres logiquement, mais
si je descends avec cette barre, et que je selectionne une ligne qui vient
d'apparaitre, ma procedure foire "erreur 1004, la méthode clearcontents a
échoué"... je suis perplexe, et ne sait plus quoi faire. si vous avez une idée, ou que
vous voulez plus de précisions, n'hésitez pas. un grand merci
L'erreur 1004 est une erreur de dépassement de plage.
Sur ces lignes :
nbressais = .Range("B4").Value ' nbressais as byte
numordre = .Range("F4").Value 'numordre as byte
Je vois 2 problèmes potentiels !
1.) Par défault le Range(XX).Value n'est pas de type
Byte. Par conséquent vous faite une affection
sans contrôlé le type.
2.) Outre le contrôle définit par la ligne :
If nbressais = numordre Then
Vous n'effectuez pas de contrôle direct sur ces
variables. Il serait souhaitable de valider que
les valeurs de ces variables sont dans un range
permis.
Ceci dit, à mon avis si vous réglé cette situation
ça devrait rouler :)
mousnynao!
-----Message d'origine-----
bonjour,
(sous excel 2000, win 98)
j'ai un probleme avec une listbox:
ma listbox a une source avec nombre de lignes variables.
le click sur cette
listbox permet de cliquer sur un bouton pour supprimer
une ligne 'source',
de remonter les autres, et d'effacer la derniere...
tant que la listbox n'est pas remplie, tout va bien, ma
procedure marche au
poil. si la capacité de la listbox est plus petite que le
nombre de lignes a
afficher, une barre de defilement verticale apparait tres
logiquement, mais
si je descends avec cette barre, et que je selectionne
une ligne qui vient
d'apparaitre, ma procedure foire "erreur 1004, la méthode
clearcontents a
échoué"...
je suis perplexe, et ne sait plus quoi faire. si vous
avez une idée, ou que
vous voulez plus de précisions, n'hésitez pas.
un grand merci
L'erreur 1004 est une erreur de dépassement de plage.
Sur ces lignes :
nbressais = .Range("B4").Value ' nbressais as byte numordre = .Range("F4").Value 'numordre as byte
Je vois 2 problèmes potentiels !
1.) Par défault le Range(XX).Value n'est pas de type Byte. Par conséquent vous faite une affection sans contrôlé le type.
2.) Outre le contrôle définit par la ligne :
If nbressais = numordre Then
Vous n'effectuez pas de contrôle direct sur ces variables. Il serait souhaitable de valider que les valeurs de ces variables sont dans un range permis.
Ceci dit, à mon avis si vous réglé cette situation ça devrait rouler :)
mousnynao!
-----Message d'origine----- bonjour,
(sous excel 2000, win 98) j'ai un probleme avec une listbox: ma listbox a une source avec nombre de lignes variables. le click sur cette
listbox permet de cliquer sur un bouton pour supprimer une ligne 'source',
de remonter les autres, et d'effacer la derniere... tant que la listbox n'est pas remplie, tout va bien, ma procedure marche au
poil. si la capacité de la listbox est plus petite que le nombre de lignes a
afficher, une barre de defilement verticale apparait tres logiquement, mais
si je descends avec cette barre, et que je selectionne une ligne qui vient
d'apparaitre, ma procedure foire "erreur 1004, la méthode clearcontents a
échoué"... je suis perplexe, et ne sait plus quoi faire. si vous avez une idée, ou que
vous voulez plus de précisions, n'hésitez pas. un grand merci