Déplacement à droite après validation VBA

Bonjour,

J'ai besoin d'un petit coup de main qui, j'en suis sur, ne devrait pas être trop compliqué pour des experts en VB !

Je souhaiterai en effet me déplacer sur la cellule de doite après avoir "entrer" uniquement sur des lignes définies, et uniquement sur ces lignes ; ce qui n'est pas possible par outil, option, modification puisque cela affecte toutes les lignes, et bien sur les classeurs ouverts ou qui le seront ultèrieurement

J'arrive à faire ça sur une ligne, mais pas sur une série de ligne (par exemple de ligne 10 à ligne 15) ; voici le code que j'utilise :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Row = 10 Then

Application.MoveAfterReturnDirection = xlToRight

Else

Application.MoveAfterReturnDirection = xlDown

End If

End Sub

Voilà !

Merci par avance à mon, ou mes sauveurs

David

Bonjour dasaquit

une possibilité

If ActiveCell.Row > 9 And ActiveCell.Row < 16 Then

Merci,

J'essaie ça demain au taf et vous tiens informé.

Bonne soirée.

David

Bonjour,

Ca fonctionne du feu de Dieu.

Un grand merci Bob, je n'hésiterai pas la prochaine de venir directement sur le forum au lieu de chercher aveuglément !

Bonne journée.

@ toute...

Re bonjour,

J'ai clôturé ce post mais ai toujours un problème !

Comme dit précédemment, cela fonctionne nickel sur ce classeur (déplacement à droite après validation sur les lignes de 10 à 30, et déplacement à droite pour les autres lignes)

Par contre, lorsque j'ouvre un autre classeur, le déplacement est à droite après validation par défaut, et je suis donc obligé de faire : outil, modification, etc.....

Pour rappel, voici le code dont je me sert (la première partie est pour un user_form_Calendar) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Sel As Range

Set Sel = Range("E10:E30,M10:M30")

If Not Application.Intersect(Sel, Range(Target.Address)) Is Nothing Then

Cancel = True

UserForm2s.Show

End If

If ActiveCell.Row > 9 And ActiveCell.Row < 31 Then

Application.MoveAfterReturnDirection = xlToRight

Else

Application.MoveAfterReturnDirection = xlDown

End If

End Sub

Merci par avance.

@ toute...

Bonjour dasaquit

Je n'avais pas fais attention que cela modifie les options d'excel

une macro workbook before close qui remet l'option vers le bas

a placer dans le module thisworbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturnDirection = xlDown
End Sub

et placer le code également dans la feuille consernée

Private Sub Worksheet_Deactivate()
Application.MoveAfterReturnDirection = xlDown
End Sub

afin que la modification de l'option ne s'applique pas au autres feuilles

Re,

C'est tout OK, je vous remercie vraiment beaucoup pour votre aide.

Avant ça, j'avais trouvé une parade en sélectionnant une cellule hors des lignes concernées par le déplacement par la droite à l'aide d'une macro de sauvegarde et de fermeture.

Voilà !

A bientôt.

Bien cordialement.

David

Rechercher des sujets similaires à "deplacement droite validation vba"