Déplacer le curseur

Comment déplacer sous VBA le curseur dans la cellule à droite après validation par la touche Entrée d'un choix dans une liste
Merci pour toutes les infos

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour

    Un petit exemple
    https://www.cjoint.com/c/HGAoZ4BW3lB

    Cdlmnt
    1. Très bien avec ça je m'en sort merci
  2. La solution proposée me parait bonne. J'avais une contradiction entre le déroulé du programme en mode débugage (le curseur se positionnait bien à droite) et le mode utilisateur où à chaque validation le curseur descend à la ligne du dessous!
    1. Le déplacement du curseur c'est OK, mais quand je répète la commande dans la même feuille au débogage il m'affiche:"ambiguïté sur le nom worsheet_change" et n'exécute pas la deuxième commande.
      Donc comment répéter la même opération ?
      1. Bonjour

        Je pense que tu as du écrire plusieurs procedures Worksheet_Change, d'où le message d'erreur, ce n'est pas la bonne méthode, il te faut définir la plage concernée par cette action

        Const cel = "B3:B7"
        
        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range(cel)) Is Nothing Then
          ' ce que tu as à faire
          Target.Offset(0, 1).Select
        End If
        End Sub

        Cdlmnt
        1. Je comprends, mais selon certaines cellules j'ai prévu un déplacement du curseur différent!
          Est ce qu'à l'intérieur de la condition if/end if je peux mettre une condition Else et donc utiliser un target.offset différent .
          Enfin puis-je tester la condition sur une cellule ?
          Merci