Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Compter le nombre de caractères d'une cellule en temps réel ?

3 réponses
Avatar
Thierry Euzenot
Bonjour,

Voilà je dois compter en temps réel le nombre de caractères que contient une
cellule et je n'arrive pas à trouver de solution...

Les méthode que j'ai testé comptent le nombre de caractères dans la cellule
une fois que j'ai validé le contenu en cliquant sur enter ou en
sélectionnant une autre cellule... mais pas PENDANT que je tape le texte de
la cellule :o/

Méthodes essayées :
//Méthode 1 par formule Excel
Dans A1 ==> =NBCAR(A2)

//Méthode 2 par VBA
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$2" Then
Feuil1.Range("A1") = "Remarques ( " & Len(Feuil1.Range("A2")) & " / 800
caractères)"
End If

End Sub


Merci pour votre aide ^_^

Thierry

3 réponses

Avatar
filtre
C chaud... mais la solution existe autour de
application.ontime now, "compte"

Après il faudra interrompre l'évènement saisie avant sa validation,
dans la procédure compte, un appel aux API de windows de la lib
user32, genre une gestion de messages perso (voir "SENDMESSAGE")
Avatar
Philippe
Bonjour Thierry,

A ma connaisance, dans Excel, on ne peut déclencher une saisie de cellule
que si la saisie d'une autre cellule est terminée. De même, les évènements
liés aux cellules sont liés à des sorties de formules => pour être honnête,
je n'ai pas de solution à proprement parler => je te propose donc de
controurner le problème avec des "textbox" comme système de saisie plutôt que
des cellules. Imaginons deux textbox : textbox1 pour la saisie et textbox2
pour l'information :

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
TextBox2.Value = Len(TextBox1.Text)
End Sub

E là c'est en temps réel.

En espérant que ça puisse t'aider.

Philippe.



Bonjour,

Voilà je dois compter en temps réel le nombre de caractères que contient une
cellule et je n'arrive pas à trouver de solution...

Les méthode que j'ai testé comptent le nombre de caractères dans la cellule
une fois que j'ai validé le contenu en cliquant sur enter ou en
sélectionnant une autre cellule... mais pas PENDANT que je tape le texte de
la cellule :o/

Méthodes essayées :
//Méthode 1 par formule Excel
Dans A1 ==> =NBCAR(A2)

//Méthode 2 par VBA
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$2" Then
Feuil1.Range("A1") = "Remarques ( " & Len(Feuil1.Range("A2")) & " / 800
caractères)"
End If

End Sub


Merci pour votre aide ^_^

Thierry





Avatar
Thierry Euzenot
Merci pour vos aides, je vais peut-être effectivement passer en textbox... à
voir...


"Philippe" a écrit dans le message de
news:
Bonjour Thierry,

A ma connaisance, dans Excel, on ne peut déclencher une saisie de cellule
que si la saisie d'une autre cellule est terminée. De même, les évènements
liés aux cellules sont liés à des sorties de formules => pour être
honnête,

je n'ai pas de solution à proprement parler => je te propose donc de
controurner le problème avec des "textbox" comme système de saisie plutôt
que

des cellules. Imaginons deux textbox : textbox1 pour la saisie et textbox2
pour l'information :

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
TextBox2.Value = Len(TextBox1.Text)
End Sub

E là c'est en temps réel.

En espérant que ça puisse t'aider.

Philippe.



Bonjour,

Voilà je dois compter en temps réel le nombre de caractères que contient
une


cellule et je n'arrive pas à trouver de solution...

Les méthode que j'ai testé comptent le nombre de caractères dans la
cellule


une fois que j'ai validé le contenu en cliquant sur enter ou en
sélectionnant une autre cellule... mais pas PENDANT que je tape le texte
de


la cellule :o/

Méthodes essayées :
//Méthode 1 par formule Excel
Dans A1 ==> =NBCAR(A2)

//Méthode 2 par VBA
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$2" Then
Feuil1.Range("A1") = "Remarques ( " & Len(Feuil1.Range("A2")) & " /
800


caractères)"
End If

End Sub


Merci pour votre aide ^_^

Thierry