Validation automatique d'une cellule lors de la saisie d'une valeur

Le
Steven
Bonjour @ toutes et tous,


Je souhaiterai pouvoir valider automatiquement une cellule apres avoir saisi
une valeur basé sur un caractère.

En clair je voudrais que l'utilisateur ne soit pas obligé d'appuyer sur
"Entrée" pour valider la cellule et passer à la cellule suivante.

Merci de l'aide que vous pourrez m'apporter.

Steven

PS : Enlevez le NOSPAM pour me répondre en PV
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
AV
Le #1264885
Ca me semble impossible !

AV
Steven
Le #1264876
Bonjour AV,

AV wrote:
Ca me semble impossible !


Merci même si cela ne me satisfait pas du tout :(

Y aurait-il une solution en passant par le VB ??

AV
Steven


Paul V.
Le #1261136
Bonjour,

Même en VBA cela me semble impossible tel quel comme le disait Alain.
Tant que "enter" n'est pas activé ( ou une fleche de déplacement, etc) ,
Excel est en mode introduction et en attente.
Seule solution à mon sens, passer par un formulaire de saisie en VBA mais on
est parti pour construire une usine à gaz là ou un seule touche de clavier
fait très bien l'affaire.
A+

Paul V

Steven wrote:
Bonjour AV,

AV wrote:
Ca me semble impossible !


Merci même si cela ne me satisfait pas du tout :(

Y aurait-il une solution en passant par le VB ??

AV
Steven




Steven
Le #1261082
Bonsoir Paul,

Paul V. wrote:
Bonjour,

Même en VBA cela me semble impossible tel quel comme le disait Alain.
Tant que "enter" n'est pas activé ( ou une fleche de déplacement,
etc) , Excel est en mode introduction et en attente.
Seule solution à mon sens, passer par un formulaire de saisie en VBA
mais on est parti pour construire une usine à gaz là ou un seule
touche de clavier fait très bien l'affaire.


Merci bien de votre réponse.
C'est sûr que c'est une usine à gaz... :(

A+


Cordialement

Paul V


Steven

Benead
Le #1261065
Salut Steven,

Un exemple qui fonctionne en passant par un TextBox :

1) Dans la barre d'outils "Commande", tu créée un TextBox nommé TextBox1 que tu place sur ta feuille
2) Tu copies le code suivant dans un module standard et tu l'exécutes (il ne te servira qu'une fois) :

' ***************************************
Sub InitMaTextBox()
With ActiveSheet.OLEObjects("TextBox1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top
.Width = ActiveCell.Width
.Height = ActiveCell.Height
With .Object
.MaxLength = 1
.BackColor = RGB(0, 255, 255)
.SelectionMargin = False
End With
End With
End Sub
' ***************************************

3) Dans le module de la feuille tu copie ce code :

' ******************************
Option Explicit
Public CellActive As Range

Private Sub TextBox1_Change()
If Len(TextBox1.Value) >= 1 Then _
Range(ActiveSheet.OLEObjects(1).TopLeftCell.Address).Offset(0, 1).Activate
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then CellActive.Offset(1, 0).Activate
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not CellActive Is Nothing Then CellActive = TextBox1.Value
If Intersect(Target, Columns(3)) Is Nothing Or Target.Count <> 1 Then
TextBox1.Visible = False
Set CellActive = Nothing
Else
With TextBox1
.Value = Target.Value
.Visible = True
.Top = Target.Top
.Left = Target.Left
.Width = Target.Width
.Height = Target.Height * 1.5
End With
If Left$(Application.Version, 1) = "8" Then TextBox1.Select
ActiveSheet.TextBox1.Activate
Set CellActive = Target
End If
End Sub

' ***************************************

Le TextBox ne s'affiche que dans la colonne "C".
Tu peux modifier le numéro de la colonne sur cette ligne :
If Intersect(Target, Columns(3))

D'autre part ."MaxLength = 1" détermine le nombre de caractères à autoriser.


A+
Benead
Bretagne
Xl97
-------- ;-)

Steven a écrit:
Bonsoir Paul,

Paul V. wrote:

Bonjour,

Même en VBA cela me semble impossible tel quel comme le disait Alain.
Tant que "enter" n'est pas activé ( ou une fleche de déplacement,
etc) , Excel est en mode introduction et en attente.
Seule solution à mon sens, passer par un formulaire de saisie en VBA
mais on est parti pour construire une usine à gaz là ou un seule
touche de clavier fait très bien l'affaire.



Merci bien de votre réponse.
C'est sûr que c'est une usine à gaz... :(


A+



Cordialement


Paul V



Steven





Publicité
Poster une réponse
Anonyme