clic sur une cellule => lance action

  • Initiateur de la discussion Initiateur de la discussion Guigui
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Guigui

Guest
hello le forum,

comment faire pour lancer une action quand je clic dans une cellule précise,

je pense utiliser :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Value = 'IMPRIMER' Then
IMPRIMER.IMPRIMER
End If
End sub

Est-ce la bonne facon de faire ?
Comment faire pour que l'action se produise lors d'un clic et NON d'un DoubleClick

Merci d'avance pour votre aide

A+
Guillaume

Cijoint mon exemple [file name=Clic_Action.zip size=10057]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Clic_Action.zip[/file]
 

Pièces jointes

Salut GuiGui, salut le forum,

je te propose de modifier ta macro IMPRIMER comme cela :

Sub IMPRIMER()
'sélectionne la plage adjacente à la cellule active moins une ligne
'la copie et la colle dans la feuille 'IMPRIMER' cellule A2
ActiveCell.CurrentRegion.Resize(ActiveCell.CurrentRegion.Rows.Count - 1, _
ActiveCell.CurrentRegion.Columns.Count).Copy Destination:=Sheets('IMPRIMER').Range('A2')
Range('A1').Select 'sélectionne la cellule A1
Sheets('IMPRIMER').PrintOut 'imprime la feuille 'IMPRIMER'
End Sub

J'avais oublié ton histoire de Double-clic. Tu peux le faire sur le clic simple mais je ne te le conseille pas si tu n'es pas le seul utilisateur de ce fichier. En effet chaque fois que la cellule contenant IMPRIMER sera sélectionnée cela lancera l'impression. Toutefois ton code appliqué à Private Sub Worksheet_SelectionChange(ByVal Target As Range) lancera l'impression.

Message édité par: Robert, à: 09/04/2005 23:56
 
Bonsoir,
Il n'existe pas à proprement parler d'évènement Clic dans VBA.
Par contre il existe un évènement qui se déclenche quand on sélectionne/active une cellule soit par clic soit simplement en déplaçant la sélection d'une manière ou d'une autre.
Tu peux tester cet évènement en collant cette macro dans un module de Feuille d'un nouveau classeur.
Si tu la colles dans le module de Feuil1 seule feuil1 fonctionnera
Si tu la colles dans le module de Feuil2 seule feuil2 fonctionnera...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range('A1').Address Then MsgBox 'Vous avez sélectionné la cellule A1'
End Sub
Ok ?

Message édité par: galopin01, à: 10/04/2005 00:00
 
Hello le forum, Galopin1, Robert

Merci a vous deux pour votre aide.

Robert, Comment puis-je modifier ton code si ma cellule 'IMPRIMER' ne se trouve pas dessous ma plage mais sur le coté ?

J'ai essayé de modifié le columns.count a -1 et rien en Rows.count mais ca marche pas....

Peux tu me confirmer le principe,
Est selectionné uniquement ce qui est adjacent a ma cellule active ?

Merci encore a vous 2

A+
Guillaume
 
Re, galopin01

Je souhaite utiliser ton code mais pas limiter a une cellule (A1) mais a une zone (A1:C13)

En clair si je clic sur une cellule comprise entre A1 et C13, mon action se produit

Merci encore pour ton aide

A+

Guillaume
 
Re Bonjour Guigui, Galopin, Robert, le Forum

Vu que j'étais sur d'autres démos (dont une juste pour toi Guigui !) je n'ai pas suivi trop ici, mais pour ta dernière question Guigui, suivons le Guide :

Lien supprimé

Tu auras tout ce qu'il te faut je pense
Bon Aprèm
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
581
Retour