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
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
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,
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
Bonjour
Sur l'évènement SelectionChange de ta feuille
A la place de
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
tu lances ta macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Target.Row
Starec
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
Salut,
Pour retrouver la position d'une form dans une feuille il ya ca :
C'est dans la FAQ : http://excel.developpez.com/faq/inde...#PositionShape
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
Espérant t'avoir aider!
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 :
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager