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 :

Evenement BeforeDoubleClick() qui fonctionnerait dans excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut Evenement BeforeDoubleClick() qui fonctionnerait dans excel
    Bonjour à tous, alors voila, je cherche à savoir si cette fonction est réalisable:

    Dans ma macro, un userform s'ouvre, et demande une valeur, or l'utilisateur ne peux pas connaitre cette valeur, il y a donc un bouton , rechercher valeur sur ma userform, et en cliquant, la macro se met sur pause, active un workbooks ( qui est variable donc impossible d'ecrire l'évenement dans la workbooks, sauf si il est possible de coder, l'écriture de l'evenement dans la workbooks via la macro).

    A partir de la, ce que je voudrai, c'est qu'en double cliquant sur la cellule, la valeur soit recupérée, et recopier dans la textbox1 de la userform.

    voici mon code: son seul probleme, l'evenement Worksheet_BeforeDoubleClick() est ecrit dans un module, or je sais qu'il faut le mettre dans la worksheet, mais, c'est impossible, car la macro traite des workwooks qui sont variables, et donc jamais les memes.

    code macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton3_Click()
    flag = True
    Application.ScreenUpdating = True
    Do While flag = True
        UserForm4.Hide
        Workbooks(variable11).Activate
        Application.EnableEvents = True
        DoEvents
    Loop
    UserForm4.Show
    code evenement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    UserForm4.TextBox1.Value = Target.Value
    Cancel = True
    flag = False
    End Sub


    Des solutions? Merci pour votre aide

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 567
    Par défaut
    Bonjour

    Si la macro est est cours, je ne pense pas que les autres événements soient gérables.

    Je verrai plutôt une solution par sélection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set plage = Application.InputBox(Prompt:="Sélectionnez la cellule correspondant à blabla.", _
                                Title:="Sélection de cellule", _
                                Left:=300, Top:=10, Type:=8)

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Utilise la procédure événementielle Workbook_SheetBeforeDoubleClick de l'objet ThisWorkbook
    sh est l'objet feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
     Cancel = True
     MsgBox Sh.Name
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut
    bonjour, merci pour vos réponses, tout d'abord, j'essaye en parrallèle les deux méthodes, mais celle avec evenement me plait .

    petite question, cet évenement, fonctionne donc bien avec TOUT les workbooks ouverts dans cette meme fenetre d'excel alors?,

    ou dois-je taper ce code? dans un module du workbooks ou la macro est ecrite , ou bien ailleur?

    Merci

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    L'objet ThisWorkbook signifie bien ce classeur.
    Un peu de lecture sur le sujet
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut
    petite erreur dans la rédaction de mon sujet, ce sont bien des workbooks variables, et non pas des worksheets... du coup sa ne marche plus je suppose, j'ai déja lu le lien , et n'est pas trouvé le meme evenement pour tout les workbooks....


    merci

Discussions similaires

  1. importer des image qui sont dans excel dans une table SQL2005
    Par johanaquatique dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/08/2009, 18h13
  2. [XL-2003] erreur dans une fonction appelée dans excel et qui ecrit dans excel
    Par peeter__steewart dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/08/2009, 15h00
  3. appli VB qui créé des graphiques dans Excel
    Par scarpat dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/09/2006, 15h43
  4. [VBA-E] Aide pour un bouton dans excel qui exécuterai mon code.
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2006, 16h23
  5. [VBA-E]Existe un evenement after update dans Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/02/2006, 16h35

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