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 :

Comment lancer une macro excel en selectionnant une cellule?


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment lancer une macro excel en selectionnant une cellule?
    Bonjour,

    Je souhaiterai savoir si il est possible de lancer une macro VBA excel en selectionnant une cellule, ou en cliquant sur le texte de la cellule?

    Merci

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Salut itony !
    En cliquant sur le texte d'une cellule je ne sais pas, mais pourquoi ne pas mettre une forme (rectangle, logo...) et tu cliques droit sur la forme, affecter une macro, ce qui fait que quand tu cliques sur cette forme la macro s'execute !

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Peachplume Voir le message
    Salut itony !
    En cliquant sur le texte d'une cellule je ne sais pas, mais pourquoi ne pas mettre une forme (rectangle, logo...) et tu cliques droit sur la forme, affecter une macro, ce qui fait que quand tu cliques sur cette forme la macro s'execute !
    Bonjour Peachplume,

    j'y ai pensé, mais j'ai là encore un probleme, il faudrait que lorsque je clique sur le "bouton", le numéro de la ligne sur lequel se trouve le bouton soit remonté dans ma macro, et je ne sais pas non plus faire cela.

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Oui c'est possible en insérant la macro dans l'évènement SelectionChange de la feuille
    Par exemple pour la cellule C5 cela donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$C$5" Then MaMacro
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Sur l'évènement SelectionChange de ta feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        MsgBox Target.Row
    End Sub
    A la place de
    tu lances ta macro.

    Starec

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci fring merci Starec,

    Vos réponses sont correctes par rapport à ma question, mais ne résolvent pas mon probleme, je vais essayé d'expliquer simplement ce que je souhaite faire. C'est pas gagné

    J'ai une feuille de calcul ("F_Calcul"), dans laquelle, je fais un calcul qui dépend de 3 parametres. J'ai créé une macro qui résume dans une autre feuille("F_Archive") sur une ligne ce calcul en ne gardant que les valeurs des 3 parametres + le résultat.
    L'idée est de se servir de ma feuille de calcul "unique" pour faire plusieurs calculs avec des parametres différent et de faire un résumé d'une ligne pour chacun de ces calculs.

    J'ai fais cette macro et ça fonctionne tres bien.

    Maintenant je souhaite à partir de ma feuille "F_Archive", en cliquant sur la ligne de résumé de mon calcul (bouton, texte, cellule), faire remonter dans ma feuille "F_Calcul" les 3 paramètres. Il faut donc que lorsque je crée mon résumé, j'ajoute un bouton ou une sorte de lien hypertexe qui identifie la ligne, donc le calcul concerné, et lance ma macro qui envoie ces données dans ma feuille "F_Calcul".

    la programmation de la macro ne me pose pas de probleme, par contre je ne sais pas comment remonter le numéro de ligne de la cellule ou j'ai posé mon bouton, et je ne sais pas comment dans un module (mes macros sont toutes créées dans des modules) attribuer une macro à une cellule ou a un texte.

    Merci à celui qui aura le courage de lire ce pavé, bravo à la personne qui aura compris mon probleme et respect a celui qui me proposera une solution.


    Merci

  7. #7
    Membre régulier Avatar de e040098k
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 94
    Points
    94
    Par défaut
    Salut,

    Pour retrouver la position d'une form dans une feuille il ya ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub PositionFormeAutomatique()
        Dim Shp As Shape
     
        'Spécifie la 1ere forme dans la Feuil1
        Set Shp = Feuil1.Shapes(1)
        MsgBox Shp.TopLeftCell.Address & ":" & Shp.BottomRightCell.Address
    End Sub
    C'est dans la FAQ : http://excel.developpez.com/faq/inde...#PositionShape

    Espérant t'avoir aider!

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour Tony,

    Le principe reste le même, dans l'évènement SelectionChange de ta feuille ("F_Archive") tu mets le code suivant en supposant que l'on souhaite lancer la procédure lorsqu'on clic dans la colonne A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
    If MsgBox("Voulez-vous récupérer les valeurs de la ligne " & Target.Row & " ?", vbYesNo) = vbNo Then Exit Sub
    Sheets(F_Calcul).Cells(1, 1) = Target.Value
    Sheets(F_Calcul).Cells(1, 2) = Target.Offset(0, 1).Value
    Sheets(F_Calcul).Cells(1, 3) = Target.Offset(0, 2).Value
    End If
    End Sub
    Tu dois bien sûr adapter les cellules sources et cibles, dans le code ci-dessus j'ai considéré que les données archivées sont dans les colonnes A, B et C et que les 3 paramètres dans la feuille Calcul se situent en A1, B1 et C1
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

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

Discussions similaires

  1. [Toutes versions] lancer une macro à l'ajout d'une feuille excel
    Par mikeactuaire dans le forum Excel
    Réponses: 5
    Dernier message: 25/11/2013, 16h51
  2. [AC-2000] Execution d'une macro Access lors d'une importation Excel
    Par Nicolas Plan dans le forum Access
    Réponses: 7
    Dernier message: 23/04/2009, 14h52
  3. [AC-2000] Execution d'une macro Access lors d'une importation Excel
    Par Nicolas Plan dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/04/2009, 10h54
  4. Macro Outlook qui lance une Macro Excel qui veut envoyer un mail = Bug
    Par Lameth dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/07/2008, 10h21
  5. Comment supprimer des liaisons excel/powerpoint via une macro?
    Par toma65 dans le forum VBA PowerPoint
    Réponses: 18
    Dernier message: 27/06/2007, 15h32

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