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

Macros et VBA Excel Discussion :

Effectuer une action en fonction de l'endroit où l'on clique


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 34
    Points
    34
    Par défaut Effectuer une action en fonction de l'endroit où l'on clique
    Bonjour à tous,

    J'ai une UserForm avec une 10aine d'élément dedans. En fonction de l'élément, j'aimerai pouvoir lancer une ligne de code, mais sans pour autant écrire 10 fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Image1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
     
    'Code
     
    End Sub
    Donc, est il possible quand on clique à un endroit de savoir sur quel élément l'on clique pour pouvoir lancer la bonne ligne de code à ce moment là?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut ange_dragon et le forum
    Pour chaque image, tu crées une ligne de commande avec x définissant ton image (nombre, texte, etc..)
    et tu fais une macro unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub Mon_Code(Arg as integer)
    select case arg
         case 1, 3, 5
            'Traitement image1, image3, image5
        case 2, 4, 6
            'Traitement image2, image4, image6
        case else
            'Traitement autres images
    end select
    end sub
    Là, j'ai choisis un argument numérique et trois traitements possibles, mais ce n'est que l'idée générale.
    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Points : 150
    Points
    150
    Par défaut
    Pour répondre précisément à la question, tu devras effectivement écrire 10 fois cette procédure mais, comme l'a dit Gorfael, tu peux créer la procédure Mon_code(X) et écrire dans les 10 procédures Mon_code(1), Mon_code(2), ...

    Avec VB6, il existe les contrôles groupés identifiés par un index qui permet d'avoir qu'une seule procédure pour tous les contrôles du groupe. Ce mécanisme n'existe pas en VBA

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup pour vos réponses.

    Je vais donc rester avec mes 10 procédures ^^

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

Discussions similaires

  1. [MySQL] Effectuer une action lorsque ON DUPLICATE KEY
    Par gforce dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/01/2007, 14h01
  2. Effectuer une action si l'enregistrement existe déjà
    Par BenjaminL dans le forum Access
    Réponses: 13
    Dernier message: 21/09/2006, 10h25
  3. Réponses: 4
    Dernier message: 31/08/2006, 12h25
  4. Réponses: 10
    Dernier message: 17/05/2006, 20h55
  5. Lister un répertoire et effectuer une action
    Par ipeteivince dans le forum Windows
    Réponses: 2
    Dernier message: 11/03/2006, 19h37

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