Vba excel restriction de saisie

maya -  
 Maya -
Bonjour,

je voudrai savoir si par une macro je peut bloquer la saisie d'une cellule à un caractère et faire entrée après cette saisie, et déplacement vers la celulle de droite.

merci d'avance

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    pour bloquer à 1 caractère, pas besoin de VBA !!!

    utilises la validation de données
    option: longueur du texte <=1
    1
    1. maya
       
      bonjour et merci michel
      je me suis peut être mal exprimé, je connais cette option, mais ce que je cherche, c'est qu'une fois un caractère de saisie dans la cellule celà fasse entrée et déplace le cursuer sur la cellule suivante tout seul, afin que le curseur soit sur une nouvelle cellule de saisie.
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour tout le monde,

    Toujours pas besoin de macro.

    menu 'outils / options...', onglet 'Modification', dans 'déplacer la sélection après validation' choisir 'droite'
    (sur 2003, chercher l'équivalent sur 2007...)
    Et si tu sélectionnes ta plage avant de saisir, en fin de ligne il y aura un retour à la 1ère cellule de la ligne suivante.

    eric
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Then Target.Offset(0, 1).Select
    End Sub


    à adapter (ici, cellule B2) et à icopier dans le module feuille de la cellule
    ou
    clic droit sur le nom d'onglet-visualiser le code

    0
    1. Maya
       
      bonjour,
      c'est presque çà, quand je je saisie dans la celulle B2 je dois faire entré et là le curseur de deplace bien dans la cellule de droite, est il possible que l'entée et le deplacement se fasse dès la saisie du premier caractère.
      merci de vos réponses
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      Avec une validation de dionnées, je ne pense pas , ce qui ne veut pas dire que c'est impossible).

      On peut avec un "textbox" qui va sélectionner une cellule quelque soit la position du textbox dans la feuille
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Ci joint démo
      https://www.cjoint.com/?ADDjYQ8RuXu

      zone de texte crée avec la boite à outils contrôle et non formulaire (XL<2007)
      ou insérer-controle "activeX" avec 2007
      0
    4. Maya
       
      bonjour Michel
      j'ai regarder ton exemple, s"est exatement ce que je cherche à faire, mais à partir d'une cellule.
      comment tu lui dit dans le code (textbox1)un monbre de caracteres de 3 ou 4 ou 5..
      j'ai un peu de mal, je suis novice en vba
      en tout cas merci encore
      0
  4. Utilisateur anonyme
     
    Bonjour à tous,

    Autre suggestion :

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        Application.EnableEvents = False
    
        If Not (Len(Target.Value) = 1) Then
           Target.Value = Left(Target.Value, 1)
        End If
        
        Target.Offset(0, 1).Select
               
        Application.EnableEvents = True
        
    End Sub
    '
    


    Cdt

    Lupin
    -1