Comment compter le nombre d'occurences d'une lettre dans textbox
Résolu/Fermé
yaorens
Messages postés
205
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
30 mai 2013
-
21 déc. 2012 à 01:02
yaorens Messages postés 205 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 30 mai 2013 - 22 déc. 2012 à 10:36
yaorens Messages postés 205 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 30 mai 2013 - 22 déc. 2012 à 10:36
A voir également:
- Comment compter le nombre d'occurences d'une lettre dans textbox
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Caractere speciaux lettre - Guide
- Changer lettre disque dur - Guide
- Excel compter le nombre de cellule d'une couleur - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
8 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 21/12/2012 à 20:19
Modifié par lermite222 le 21/12/2012 à 20:19
mais je suivant l'idée de GeeGee, c'est plus cour
Dans le module d'une form avec un label...
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Function NbOc2(ByVal Chaine As String, ByVal Cherch As String) As Int16 Return Len(Chaine) - Len(Replace(Chaine, Cherch, "")) End Function
Dans le module d'une form avec un label...
Label1.Text = NbOc("La chaine sélectionnée pour le test","e")A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Bonjour
Function NbOc(Chaine As String, Ch As String, Optional RC As Boolean = False) As Long
If RC Then
NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 0))) / Len(Ch)
Else
NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 1))) / Len(Ch)
End If
End Function
Function NbOc(Chaine As String, Ch As String, Optional RC As Boolean = False) As Long
If RC Then
NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 0))) / Len(Ch)
Else
NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 1))) / Len(Ch)
End If
End Function
yaorens
Messages postés
205
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
30 mai 2013
7
21 déc. 2012 à 07:27
21 déc. 2012 à 07:27
Bonjour Geegee , stp , tu pourrais commenter un peu ton code , je ne le comprends pas ,
d'abord , attends , je vais voir si je suis bien , tu me dis si c'est coorect ok , histoire de voir si je te suis !!
D'abord , tu fais une fonction , qui prend en paramètre la chaine de caractère , et le caractère ( dont on cherchera le nombre d'occurences )
Ensuite , .................. là , je ne comprends vraiment ton code.
Moi au paravant en vb 6.0 j'avais pensé à un code du genre
Mais , quand je fais Me.Text.Text(i) , cela ne passe pas parce que qu'apparamment , celà ne considère pas Me.Text.Text() comme un tableau de chaines de caractères
Il y'a t'il uune autre option , et pourrais tu commenter un peu ton code que je puisse comprendre ??
d'abord , attends , je vais voir si je suis bien , tu me dis si c'est coorect ok , histoire de voir si je te suis !!
D'abord , tu fais une fonction , qui prend en paramètre la chaine de caractère , et le caractère ( dont on cherchera le nombre d'occurences )
mais le Optional RC as Boolean = Falseje ne comprends pas , pourrais tu me dire ce qu'il représente concrètement ??
Ensuite , .................. là , je ne comprends vraiment ton code.
Moi au paravant en vb 6.0 j'avais pensé à un code du genre
dim compteur as long ' ma variable qui comptera le nombre d'occurences compteur = 0 ' j'initialise d'abord mon compteur à zéro Pubic function retourneoccurence (Byval chaine as string , lettre as char ) as long for i = 0 to len(Me.Text.text) Then If Me.Text.text(i) = "lettre" Then compteur = compteur +1 End If Next return compteur End Sub
Mais , quand je fais Me.Text.Text(i) , cela ne passe pas parce que qu'apparamment , celà ne considère pas Me.Text.Text() comme un tableau de chaines de caractères
Il y'a t'il uune autre option , et pourrais tu commenter un peu ton code que je puisse comprendre ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yaorens
Messages postés
205
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
30 mai 2013
7
21 déc. 2012 à 07:32
21 déc. 2012 à 07:32
geegee , et puis dans le code que tu as mis , tu as écris
Pourquoi posez une condition sur RC , car qu'il retourne vrai ou faux , tu effectues des opérations .
Ensuite , tu n'aurais pas oublié , deux éléments
- d'abord la portée de la fonction publique ou privée ( ou bien en vb6 , cela n'a pas d'importance on peut s'en passer ?,)
- ensuite ta fonction doit bien retourner quelque chose , je crois savoir que tu as oublié
Function NbOc(Chaine As String, Ch As String, Optional RC As Boolean = False) As Long If RC Then NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 0))) / Len(Ch) Else NbOc = (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , 1))) / Len(Ch) End If End Function
Pourquoi posez une condition sur RC , car qu'il retourne vrai ou faux , tu effectues des opérations .
Ensuite , tu n'aurais pas oublié , deux éléments
- d'abord la portée de la fonction publique ou privée ( ou bien en vb6 , cela n'a pas d'importance on peut s'en passer ?,)
- ensuite ta fonction doit bien retourner quelque chose , je crois savoir que tu as oublié
un return RC
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
21 déc. 2012 à 17:41
21 déc. 2012 à 17:41
Bonjour,
le principe est de mesurer la longueur de la chaine, puis celle de la nouvelle chaine obtenue en remplaçant le caractère recherché par "" (rien)
Tu peux refaire la fonction en la simplifiant.
Une fonction retourne la valeur qui est calculée dans la variable portant son nom.
ex :
function deux()
deux = 1+1
end function
retournera 2
eric
le principe est de mesurer la longueur de la chaine, puis celle de la nouvelle chaine obtenue en remplaçant le caractère recherché par "" (rien)
Tu peux refaire la fonction en la simplifiant.
Une fonction retourne la valeur qui est calculée dans la variable portant son nom.
ex :
function deux()
deux = 1+1
end function
retournera 2
eric
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 21/12/2012 à 19:10
Modifié par lermite222 le 21/12/2012 à 19:10
Bonjour tous,
Je pense que tu est en VB.Net..
Dans un module..
Note : Microsoft.VisualBasic. pas toujours nécessaire, je l'ai mis par sécurité.
Dans le module d'une form avec un label...
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Je pense que tu est en VB.Net..
Dans un module..
Function NbOc(ByVal Chaine As String, ByVal Cherch As String) As Int16 Dim C, e As Int16 For C = 1 To Len(Chaine) If Microsoft.VisualBasic.Mid(Chaine, C, 1) = Cherch Then e = e + 1 Next Return e End Function
Note : Microsoft.VisualBasic. pas toujours nécessaire, je l'ai mis par sécurité.
Dans le module d'une form avec un label...
Label1.Text = NbOc("La chaine sélectionnée pour le test","e")A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
yaorens
Messages postés
205
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
30 mai 2013
7
22 déc. 2012 à 10:36
22 déc. 2012 à 10:36
Merci à vous deux les gars