Raccourci clavier avec condition de position cellule

ccdouble6

XLDnaute Occasionnel
Bonsoir le forum,

Débutant en vba, je rencontre un souci pour réussir à faire ceci :
Faire en sorte que ma touche Entrée, raccourci clavier de ma macro Coucou(), ne lance cette macro QUE SI je me trouve sur la cellule L4C4 de la feuille 'COUCOU'. :confused:
Petit exemple joint, qui ne marche pas évidemment.
Pour la petite histoire j'avais réussi à obtenir satisfaction sur une condition de colonne précise, mais là il s'agit d'une cellule, apparemment c'est plus compliqué... :rolleyes: je ne vois vraiment pas où ça coince...
Merci d'avance pour vos lumières !!
Bonne soirée !!
ccdouble6.
 

Pièces jointes

  • Exemple1.xlsm
    16.6 KB · Affichages: 78
  • Exemple1.xlsm
    16.6 KB · Affichages: 79
  • Exemple1.xlsm
    16.6 KB · Affichages: 69

James007

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Bonjour,

Je ne suis pas certain de comprendre le raisonnement ...

Tu peux essayer le code suivant :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address <> "$D$4" Then Exit Sub
Coucou
End Sub

A +
:)
 

job75

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Bonsoir le fil,

A priori, il manquait cette macro :

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ToucheEntree Sh
End Sub
Et j'ai fait quelques modifs sur celle-ci :

Code:
Sub ToucheEntree(Arg1)
'La feuille où le raccourci doit s'appliquer
If Arg1.Name = "COUCOU" Then
    If ActiveCell.Address = "$D$4" Then
    Application.OnKey "~", "Coucou"
    Application.OnKey "{ENTER}", "Coucou" 'pour le pavé numérique
    Else
    'les autres feuilles/cellules où le raccourci ne doit pas s'appliquer
    Application.OnKey "~"
    Application.OnKey "{ENTER}"
    End If
End If
End Sub
Fichier .xls joint.

Edit : télécharger d'abord le fichier sur le bureau...

A+
 

Pièces jointes

  • Exemple1(1).xls
    40.5 KB · Affichages: 65
  • Exemple1(1).xls
    40.5 KB · Affichages: 62
  • Exemple1(1).xls
    40.5 KB · Affichages: 63
Dernière édition:

job75

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Re,

Pardon, il faut cette macro :

Code:
Sub ToucheEntree(Arg1)
'La feuille où le raccourci doit s'appliquer
If Arg1.Name = "COUCOU" Then
    If ActiveCell.Address = "$D$4" Then
    Application.OnKey "~", "Coucou"
    Application.OnKey "{ENTER}", "Coucou" 'pour le pavé numérique
    Else
    'les autres feuilles/cellules où le raccourci ne doit pas s'appliquer
    Application.OnKey "~"
    Application.OnKey "{ENTER}"
    End If
Else
    Application.OnKey "~"
    Application.OnKey "{ENTER}"
End If
End Sub
A+
 

Pièces jointes

  • Exemple1(2).xls
    40.5 KB · Affichages: 55
  • Exemple1(2).xls
    40.5 KB · Affichages: 56
  • Exemple1(2).xls
    40.5 KB · Affichages: 60

job75

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Re,

Plus simple, on va y arriver :

Code:
Sub ToucheEntree(Arg1)
'La feuille où le raccourci doit s'appliquer
If Arg1.Name = "COUCOU" And ActiveCell.Address = "$D$4" Then
    Application.OnKey "~", "Coucou"
    Application.OnKey "{ENTER}", "Coucou" 'pour le pavé numérique
Else
    'les autres feuilles/cellules où le raccourci ne doit pas s'appliquer
    Application.OnKey "~"
    Application.OnKey "{ENTER}"
    End If
End Sub
A+
 

Pièces jointes

  • Exemple1(3).xls
    40.5 KB · Affichages: 62

job75

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Re,

Ben non, c'est pas fini.

Faut prévoir le cas où l'on active d'autres fichiers :

Code:
Private Sub Workbook_Activate() 'plutôt que Workbook_Open
ToucheEntree ActiveSheet
End Sub

Private Sub Workbook_DeActivate()
Application.OnKey "~"
Application.OnKey "{ENTER}"
End Sub
Version (4).

A+
 

Pièces jointes

  • Exemple1(4).xls
    41 KB · Affichages: 66

James007

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Bonjour à tous,

Tu peux remercier Job75 :) pour tous ces efforts ...

Mais tout cela prouve bien que la solution simple et efficace est celle de Stefan373 ...
en une seule ligne de code, tout est fait ... (message #3)

A +
:)
 

job75

XLDnaute Barbatruc
Re : Raccourci clavier avec condition de position cellule

Bonjour James, le fil, le forum,

Mais tout cela prouve bien que la solution simple et efficace est celle de Stefan373 ...
en une seule ligne de code, tout est fait ... (message #3)

Tout à fait d'accord James, le double-clic est LA solution.

Mais le problème posé concernait la touche <Entrée>, il fallait donc aller jusqu'au bout pour s'en rendre compte.

A+
 

ccdouble6

XLDnaute Occasionnel
Re : Raccourci clavier avec condition de position cellule

Bonjour le fil, James007, Stefan373, et Job75,

Merci bcp à tous les trois et tout spécialement à Job75, c'est super !! :cool:
J'avais pas du tout pensé à "target", en fait je ne connais pas la différence avec "activecell" :confused:
Par ailleurs :
- je ne saisis pas bien la différence "Activate/Open" : c'est pour le 1er l'ouverture de CE fichier excel et pour le second l'ouverture d'excel le programme ?
- c'est "enter" le entrée du pavé numérique ??? rien que pour ça alors mon programme ne risquait pas de marcher :eek:
C'est parfait en tout cas :)
Merci encore et bon aprem !!
ccdouble6.
 

ccdouble6

XLDnaute Occasionnel
Re : Raccourci clavier avec condition de position cellule

Bonjour le forum,

Je me permets un petit up de cette discussion car je rencontre un petit souci. J'ai entré plusieurs raccourcis clavier dans mon fichier et ils marchent tous impec merci encore :cool:
Toutefois je me rends compte que le programme maintenant marque un petit temps de réflexion chaque fois que je veux passer d'une cellule à l'autre de mon tableau.
Le sablier apparaît certes un dixième de seconde, mais lorsque j'appuie plusieurs fois sur une flèche du clavier là évidemment je sens que ça rame.
Existe-t-il qqchose que je puisse ajouter dans mes déclarations de raccourcis afin d'accélérer un peu le traitement ?? :confused:
Merci d'avance pour vos lumières :)
Bon aprem !
ccdouble6.
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 633
Membres
103 617
dernier inscrit
cisco1