• Initiateur de la discussion Initiateur de la discussion olivier
  • 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 !

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
 
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
 
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
 
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
 
- 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
10
Affichages
406
Réponses
10
Affichages
1 K
Réponses
4
Affichages
319
Retour