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 :

[VBA-e] methode recursion


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Par défaut [VBA-e] methode recursion
    bonjour,

    je voulais juste savoir s'il est possible de faire une fonction recursive ?
    si oui comment ? si vs avez un petit exemple c'est niekel

    merci

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pour faire quoi?

    Dis-nous plutôt ce que tu cherches à faire.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    oui c'est possible mais dans quel cas veux tu l'utiliser...?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Un exemple de fonction récursive (simple):
    http://www.developpez.net/forums/sho...d.php?t=200523
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Par défaut
    voici le debut de mon travail pour une fonction qui determine si une chaine de caractere ressemble a une autre.
    il existe des code tout fait ou des librairies ... ?
    ca ne correspond pas vraiment a un pattern matching c ca le probleme!
    je veux faire une fonction qui me dit que
    julien = julian
    elisabeth=elizabeth
    ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Function approxiomationR(str1 As String, str2 As String, cum As Integer)
    If str1 = "" And str2 = "" Then
        approxiomation = 1
    Else
        approxiomation = 0
    End If
    If StrComp(Left(str1, 1), Left(str2, 1)) = 0 Then
        t = approxiomation Right(str1, Len(str1) - 1), Right(str2, Len(str2) - 1), cum + 1
    Else
        t1 = Len(str1)
        t2 = Len(str2)
        If t1 = t2 Then
            t = approxiomation(Right(str1, Len(str1) - 1), Right(str2, Len(str2) - 1), cum)
        Else
            If t1 < t2 Then
                t = approxiomation(Right(str1, Len(str1)), Right(str2, Len(str2) - 1), cum)
            End If
        End If
    End If
     
    End Function
    voila ce que j'avais!
    j'ai deja rendu la fonction iterative mais j'avoue que j'aime pas

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    bonsoir, excusez moi de vous interrompre, mais j'ai lu les post. juste, si un de vous, voulais bien me glisser un petit message perso,: qu'es que c'est une fonction récursive ? et iterative? merci
    ps; j'ai bien été voir les deux exemple, mais j'ai pas compris

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Une fonction récursive est une fonction qui s'appelle elle-même.
    Dans l'exemple que j'ai donné, ListFilesInFolder s'appelle elle-même (presque à la fin).

    Itérative veut dire "qui boucle" ou "qui se répète" (en gros).
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    merci

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    il existe un algo qui note la proximité de mot
    c'est le soundex bien connu des linguistes
    on doit en trouver des exemples un peu partout

    nb la récursivité peut toujours être remplacée par une formule itérative, elle
    n'est pas très performante et reste fragile si la pile est insuffisante ou les
    variables provisoires trop nombreuses c'est un système dans lequel on ne
    gère plus rien

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Par défaut
    soundEx
    http://j-walk.com/ss/excel/tips/tip77.htm

    voici un lien en VBA assez interressant

Discussions similaires

  1. [VBA DAO] methode sur recordset
    Par ip203 dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/04/2007, 12h20
  2. [VBA-A] méthode Value pour un control
    Par walden dans le forum VBA Access
    Réponses: 18
    Dernier message: 01/06/2006, 16h25
  3. [VBA-E]Methode pour trouver une valeur qui apparait plusieur fois
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/05/2006, 13h11
  4. [VBA-E] methode printOut
    Par richou dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/05/2006, 09h25
  5. [VBA-E]methode find
    Par richou dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/03/2006, 12h28

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