Combien de lettre "a" dans une phrase

Bonjour à tous, et désolé de vous déranger ce samedi.

Je m'appelle Antoine et je travail sur un tout petit programme en VBA. Etant nul en informatique, je sollicite votre aide.

Je n'arrive pas à créer une VBA qui compte le nombre de lettre,prenons par exemple, "a" d'une phrase entrée par l'utilisateur.

Voila ce que j'ai fait, mais qui ne marche pas ..

Sub lettrea()

Dim mot as string, i as integer

mot = inputbox ("Entrer un mot ou une phrase")

i = 0

Do while Mid(mot, 1, 1) = "a"

i = i+1

Loop

Msgbox ("La lettre 'a' est présente" & i)

End sub

Merci de votre petit coup de pouce,

Antoine

Bonjour,

Mesure la longueur de ta chaine, remplace "a" par rien "" et calcule la différence de longueur

Utilise len() et replace()

eric

Bonjour,

Essaye avec le code suivant :

Sub lettrea()
    Dim mot As String, i As Integer
    mot = InputBox("Entrer un mot ou une phrase")
    i = Len(mot) - Len(WorksheetFunction.Substitute(mot, "a", ""))
    MsgBox ("La lettre 'a' est présente " & i & " fois")
End Sub

Merci énormément Raja pour votre aide,

J'aurais une dernière petite question, j'essaie d'utiliser cette fois-ci une fonction qui à partir d'une lettre et d'un mot donné calcul le nombre de fois qu'il y a la lettre dans le mot.

Les fonctions c'est vraiment pas mon truc, voici ce que j'ai essayé.

Function trouve(i As Double, x As String) As Double

i = Len(mot) - Len(WorksheetFunction.Substitute(mot, lettre, ""))

End Function

Function donne(lettre As String, mot As String) As String

lettre = InputBox("Donner une lettre")

mot = InputBox("Donner un mot")

End Function

Sub test()

End Sub

Je ne sais pas trop comment m'y prendre en fait :/

Merci Antoine

Re,

Je ne sais pas vraiment ce que tu cherches à faire. Si ton but est la réutilisation de cette fonction voire pédagogique, pourquoi pas. Voici une solution avec une fonction et la procédure de test de la fonction :

Sub testTrouveNbCar()
    Dim chaine As String, car As String
    chaine = InputBox("Entrer un mot ou une phrase")
    car = InputBox("Entrer une lettre à chercher")
    MsgBox trouveNbCar(chaine, car)
End Sub
Function trouveNbCar(mot As String, lettre As String)
    trouveNbCar = Len(mot) - Len(WorksheetFunction.Substitute(mot, lettre, ""))
End Function

Merci pour votre aide, je commence à comprendre !

Rechercher des sujets similaires à "combien lettre phrase"