IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

PB Fonction VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut PB Fonction VBA
    J'ai crée une fonction vba qui a pour but de compter le nombre de a dans un mot. Seulement quand je l'applique j'obtient systématiqueement 0.
    Pouvez vous m'aider
    Voici la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function Nb(Mot As String) As Integer
        Dim i As Integer
        Nb = 0
        For i = 1 To Len(Mot)
            If trouve(a, Mid(Mot, i, 1)) <> 0 Then
                Nb = Nb + 1
            End If
        Next i
        MsgBox "le nombre de a est " Nb
      0  0

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    joli ... et qu'est donc la fonction trouve ? (il faut deviner son code et le type qu'elle retourne ?
      0  0

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    En fait la fonction trouve est une fonction excel qui permet de chercher la position d'une lettre dans un mot. Ici le but pour i=1 est de cherche en fait la position de a dans la premiere lettre du mot (du coup si il y a un a alors sera <> de 0). Si pas de a = 0; pareil pour i=2,... Donc on a bien le nombre de a du mot.

    Seulement trouve est ne fonction excel donc apparement il faut l'appeler (je ne sais pas ce que cela veut dire, c'est ce que le prof a dit)
      0  0

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bon...
    Allez ! On va faire à la fois le clown et chausser la fainéantise de ceux dont mon sang est un peu composé (les corses ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
     Dim toto As String, car As String
     toto = "abcacxoa22a"
     car = "a"
     MsgBox comptecar(toto, car)
    End Sub
    Private Function comptecar(ByVal c As String, quoi As String) As Integer
      Dim clown As String
      clown = Replace(c, quoi, "")
      comptecar = Len(c) - Len(clown)
    End Function
    PS : et je ne veux pas entendre ici parler de profs ! Tu exposes un problème ==>> tu as une solution... Elle n'est pas celle qu'attend ton prof ? ===>> c'est entre toi et lui, alors (de même que la note qu'il t'octroiera ).
    Ici : on trouve une solution (il y en a d'autres... plein d'autres...) et c'est tout.
      0  0

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    Merci pour cette reponse, seulement le seul inconvénient est que le travail est de traduire l'algorithme suivant en vba (ce qui m'empeche de passer par une fonction differente) :

    ex 11 : ecrivez une fonction qui renvoie le nombre de voyelles (j'avais simplifié pour le moment en renvoyant que les a car je n'y arrivai pas) contenues dans une chaine de caractères passée en argument. Au passage notez qu'une fonction peut tout a fait appeler une autre fonction.
    Algorithme :
    fonction Nbvoyelles (mot en caractere)
    variables i, nb en numérique
    pour i=1 à len(mot)
    si Trouve("aeiouy", Mid(Mot, i , 1))<>0 Alors
    Nb = Nb+1
    Fin si
    i suivant
    renvoyer nb
    fin fonction
    Voila Merci
      0  0

Discussions similaires

  1. [FONCTION] fonction VBA
    Par heavenvibes dans le forum Access
    Réponses: 1
    Dernier message: 26/06/2006, 08h42
  2. Aide requete SQL ou fonction VBA
    Par nykola7 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/03/2006, 17h51
  3. recopie conditionnel par fonction VBA sous Excel
    Par LinusVince dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2006, 18h33
  4. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34
  5. Pb de lien entre Access et Excel pour des fonctions VBA
    Par favien dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/11/2005, 01h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo