[VBA/Excel] ScrollBar et procédures de mise à jour (Change)

dough29 Messages postés 10 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 20 janvier 2006 - 28 juin 2005 à 11:31
dough29 Messages postés 10 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 20 janvier 2006 - 28 juin 2005 à 13:29
Voilà mon problème:

J'ai un champ de sélection et des scrollbar.

Selon ce que je choisis dans le champ de sélection, mes valeurs de scrollbar changent.

Le fait est que j'ai des procédures du genre MaScroll1_Change() et dans mon développement cela provoque des bug.

J'apercois trois solutions mais ne sais comment les mettre en oeuvre:


Soit dans ma procédure MaScroll1_Change() j'arrive à savoir si le changement est provoqué par l'utilisateur ou un MaScroll1.Value = x
Soit je change de méthode en n'utilisant pas _Change (essayé sans succès...)
Soit je trouve un moyen de faire un MaScroll1.Value = x sans que cela implique le lancement de la procédure _Change.

2 réponses

sacha1435 Messages postés 94 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 12 octobre 2005 2
28 juin 2005 à 13:22
Bonjour,

Dans les évenements x_change je ne crois pas que tu puisses détecter qui fait le changement( utilisateur ou code).
Peut être en mode pas à pas et regarder dans la fenêtre local pour voir ce qui s'y passe.

Maintenant il serait judiscieux de nous dire pourquoi tu veux démarer une procédure sur un changement d'un scroll ?
car a mon sens c'est toujours l'utilisateur qui modifie cet état soit en selection étendue soit en utilisant les cursseurs.

Sacha

\!/
00
!
dough29 Messages postés 10 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 20 janvier 2006
28 juin 2005 à 13:29
Ben en fait je gère plusieurs tableaux de données numérotés 1, 2, 3...

Les données de ces tableaux sont réparties selon les valeurs des scrollbar.

Sachant que l'userform est commun à tous les tableaux et que l'on choisis le tableau sur lequel on désire travailler, il faut bien que les scrollbar changent de valeur afin de récupérer celles du tableau sélectionné par le champ de sélection.

Donc sur mon champ de selection, j'applique un _Change qui contient des lignes style MaScroll1.value = 1 et c'est là que le code me lance la procédure MaScoll1_Change, ce que je ne voudrais pas qui se produise...
Rejoignez-nous