Compter le nombre de caractères d'une cellule en temps réel ?
3 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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")
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")
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")
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
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
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
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
Merci pour vos aides, je vais peut-être effectivement passer en textbox... à
voir...
"Philippe" <Philippe@discussions.microsoft.com> a écrit dans le message de
news:5DFF55FB-E5C3-4E1D-9548-FBE27CF29E14@microsoft.com...
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
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