Utilisation Controls() dans module vba
Fermé
seb4257
-
14 juin 2013 à 11:01
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 15 juin 2013 à 17:28
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 15 juin 2013 à 17:28
A voir également:
- Controls vba
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
4 réponses
en fait non ça fonctionne pas.
sur un formulaire j'ai des photos.
j'ai une "Function infos (Origine as string)" qui se déclenche lors d'un mousemove sur une image et qui doit rendre visible une zone de liste dans laquelle il y a le résultat d'une requête en rapport avec l'image qu'on survole.
pour cela, dans ma "Function infos" il y a une boucle qui permet de rendre visible ma Zone de liste X secondes.
le problème vient du fait que si je passe le curseur sur 10 images à la suite (par exemple je fais juste traverser mon curseur d'un coté a l'autre de l'écran), je lance 10 boucles timer et ça arrive a planter Access.
du coup j'essayai la boucle citée plus haut pour sortir de la boucle si mon curseur quitte mon image, et ainsi n'avoir qu'une boucle timer active à la fois.
donc mon image appelle la function qui elle même appelle ma sub timer. c'est peux etre cette imbrication qui pose problème.
en mettant directement le code de la sub timer dans la function je n'ai plus de message d'erreur, mais ma zone de liste clignote avec un sablier.
sur un formulaire j'ai des photos.
j'ai une "Function infos (Origine as string)" qui se déclenche lors d'un mousemove sur une image et qui doit rendre visible une zone de liste dans laquelle il y a le résultat d'une requête en rapport avec l'image qu'on survole.
pour cela, dans ma "Function infos" il y a une boucle qui permet de rendre visible ma Zone de liste X secondes.
le problème vient du fait que si je passe le curseur sur 10 images à la suite (par exemple je fais juste traverser mon curseur d'un coté a l'autre de l'écran), je lance 10 boucles timer et ça arrive a planter Access.
du coup j'essayai la boucle citée plus haut pour sortir de la boucle si mon curseur quitte mon image, et ainsi n'avoir qu'une boucle timer active à la fois.
donc mon image appelle la function qui elle même appelle ma sub timer. c'est peux etre cette imbrication qui pose problème.
en mettant directement le code de la sub timer dans la function je n'ai plus de message d'erreur, mais ma zone de liste clignote avec un sablier.
blux
Messages postés
26473
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 novembre 2024
3 316
14 juin 2013 à 11:04
14 juin 2013 à 11:04
Salut,
erreur sur quelle ligne ?
erreur sur quelle ligne ?
oups pardon, j'oublie le principal.
il s'arrête sur "Controls(ctrle).Left" en surlignant "Controls".
c'est pour ça que je disais qu'il ne semble plus reconnaitre Controls()
il s'arrête sur "Controls(ctrle).Left" en surlignant "Controls".
c'est pour ça que je disais qu'il ne semble plus reconnaitre Controls()
blux
Messages postés
26473
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 novembre 2024
3 316
14 juin 2013 à 11:29
14 juin 2013 à 11:29
J'ai peur qu'il n'emmène pas le contexte quand tu appelles ta fonction et que du coup, il ne sache pas de quel contrôle on parle...
Si tu mets le code de ta fonction là où tu en as besoin, ça marche ?
Si tu mets le code de ta fonction là où tu en as besoin, ça marche ?
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
15 juin 2013 à 17:28
15 juin 2013 à 17:28
Bonjour,
il faudrait peut-être lui indiquer dans quel formulaire il est :
userform1.control(...) etc
eric
il faudrait peut-être lui indiquer dans quel formulaire il est :
userform1.control(...) etc
eric
14 juin 2013 à 14:55
Comme c'est de la programmation évènementielle, tu ne peux pas avoir une liste des actions en cours à un moment donné, puisqu'elles sont lancées en asynchrone pour access.
Je crains que tu n'arrives pas à faire ce que tu souhaites...
14 juin 2013 à 15:02
peut-être y aurait il une approche complètement différente pour arriver à ce résultat?
14 juin 2013 à 15:22
Pas dans le type de programmation évènementielle, car cela voudrait dire qu'un évènement va modifier ou interférer le comportement d'un autre évènement...
peut-être y aurait il une approche complètement différente pour arriver à ce résultat?
Je ne vois pas trop, là...
Si encore, tu laissais affichée ta zone de liste, ça pourrait peut-être marcher, puisqu'il suffirait (à mon avis) de faire un .refresh ou un .repaint...
14 juin 2013 à 16:06