tapez enter

  • Initiateur de la discussion olivier
  • Date de début
O

olivier

Guest
Bonsoir le forum .

J'ai juste une petite question pour les plus specialistes que moi en excel .

Est il possible de faire en sorte , avec une macro ou autre que quand je tape entrer quand ma cellule est selectionner que ma selection va sur une autre cellule mais pas celle du bas ?

si je suis sur B4 et je fait entrer , il faudrait que la cellule D8 se selectionne .

Merci de votre aide .


Olivier
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Olivier, bonsoir le forum,

C'est faisable avec la macro événementielle Private Sub Worksheet_Change(ByVal Target As Range). Mais cela implique que tu tapes quelquechose avant. Si tu sélectionnes la cellule et tu fais [Entrer] sans rien taper, ça ne marchera pas...

ce premier exemple ne fonctionne que sur B4 et sélectionne D8 :

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement
'si le changement à lieu dans la cellule B4, la cellule D8 est sélectionné
If Target.Address = '$B$4' Then Range('D8').Select
End Sub

celui-ci fontionne sur toute la colonne B et décale de deux colonnes et 4 lignes :
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement
'si le changement à lieu dans la Colonne B, la cellule D_+4 est sélectionnée
If Target.Column = 2 Then Target.Offset(4, 2).Select
End Sub
 

Gael

XLDnaute Barbatruc
Bonjour Olivier, Bonjour Robert, Le Forum,

Sur XL2003, il y a aussi la possibilité d'utiliser le verrouillage des cellules.

En déverrouillant les cellules à saisir puis en protégeant le documennt en cochant l'option 'sélectionner les cellules dévérouillées', la saisie passera automatiquement de l'une à l'autre.

Il doit y avoir une option approchanter les versions antérieures.

@+

Gael
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Olivier, Robert, Gael, le forum

un code à placer dans ta feuille, devrait fonctionner selon tes voeux.

Cordialement, A+

Code:
Private Cel_Prec As Range
Private Sub Worksheet_Activate()
Set Cel_Prec = ActiveCell
End Sub
Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
Select Case Cel_Prec.Address
Case Is = Range('D10').Address
Range('C18').Select
Case Is = Range('B4').Address
Range('D8').Select
Case Else
End Select
Fin:
Set Cel_Prec = Target
End Sub

Message édité par: yeahou, à: 29/06/2005 22:31
 

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 801
Membres
103 392
dernier inscrit
doc_banane