IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Besoin d'aide macro VBA access [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Besoin d'aide macro VBA access
    Bonjour,

    J'utilise une macro dans un projet Access 2010 dans laquel je compte le nombre d'item sélectionner dans une listBox (et accessoirement je récupère les valeurs). Mais ma macro fonctionne une fois deux (voir moins ). Aprés analyse du problème, cela viendrait de ce décompte qui est nul (dans 80% des tentatives) quelque soit le nombre d’éléments sélectionnés dans la listeBox.

    Pour info, ci dessous le bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim VarLr As Variant 
    tmp_var = Me.txtProjet.ItemsSelected.Count -> Compte nul dans 80% des tentatives 
    
    For Each VarLr In Me.txtProjet.ItemsSelected -> Procédure qui ne se lance pas si compte nul
    
         If TmpVar_Proj <> "" Then 
            TmpVar_Proj = TmpVar_Proj & " / "
         end if
    
         TmpVar_Proj = TmpVar_Proj & Me.txtProjet.Column(2, VarLr)
    Next VarLr
    Ma question est donc pourquoi le décompte ne fonctionne pas à tout les essais et y a t-il un moyen pour que ça fonctionne à chaque fois que je lance la macro ???

    Merci pour votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    La seule explication que je pense possible c'est que dans les instructions qui précédent ce code tu as une remise à zéro de éléments sélectionnés probablement sous condition.

    Je t'invite à mettre un point d'arrêt (clique dans la marge en face de la ligne de code où tu veux le placer) et de suivre ton code pas à pas en utilisant [F8].

    Tu peux aussi chercher [codeinline]txtProjet[codeInLine] partout dans ton module ou même dans projet et voir ce qui lui arrive chaque fois qu'il est mentionné.

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Après analyse et de multiple recherche, j'ai pu identifier plus précisément le problème.
    Lorsque je lance la macro et que par l'intermédiaire d'une pause je vais fouiner dans les variables locales pour rechercher la valeur du décompte de ma listbox, comme par magie la procédure se met à jour et fonctionne parfaitement.

    De plus, j'ai ajouté un test dont le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Item_txtprojet As Object
    Set Item_txtprojet = Me.Controls.Item(90)
    Cette procédure m'a permis de constater que lorsque le décompte est à zéro, l'item(90) sélectionné ne correspond pas à celui qu'il aurait du sélectionner. Je m'explique, mon formulaire est composé d'une fenêtre dans laquelle il y a plusieurs onglets (un onglet principal dans lequel je vais chercher plusieurs informations, un onglet à partir duquel je lance ma procédure et collecte des données, un onglet dans lequel je vais chercher des informations mais que je n'affiche pas à tout les coups plus d'autres onglets que je n'affiche pas et où je ne fais rien vis à vis de cette procédure).
    Donc, pour en revenir au test précédent, il apparait que l'item(90) que ma procédure sélectionne est bien txtprojet mais dans un onglet que je n'ai pas affiché et dans lequel il n'existe pas . C'est à dire qu'il pointe dans le vide .
    Je pense que le problème doit se situer par la.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Trouver la solution avec du setfocus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Automatisation d'une macro VBA Access
    Par fbourdon dans le forum IHM
    Réponses: 1
    Dernier message: 26/11/2009, 17h40
  2. [XL-2003] Aide macro vba pour calcul du prix d'une option
    Par addictionme dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/05/2009, 15h45
  3. Besoin d'aide macro
    Par adrien1001 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/05/2008, 01h34
  4. Besoin d'aide en vba
    Par Grechtouille dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/02/2007, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo