Vba excel restriction de saisie

Fermé
maya - 28 avril 2011 à 16:02
 Maya - 5 mai 2011 à 10:11
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
A voir également:

4 réponses

michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
28 avril 2011 à 17:21
bonjour

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

utilises la validation de données
option: longueur du texte <=1
1
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
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
Modifié par eriiic le 28/04/2011 à 18:02
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
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
28 avril 2011 à 18:06
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
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
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
Modifié par michel_m le 29/04/2011 à 09:42
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
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
29 avril 2011 à 09:53
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
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
Utilisateur anonyme
28 avril 2011 à 18:10
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