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 :

function pour userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Par défaut function pour userform
    Bonjour à tous

    Je viens de créer ma 1ère Form.
    C'est pas mal

    Petite question pour les zinitiés...
    Où doit-on placer le code des fonctions
    Cela fait une erreur 1004 quand on le met dans le code de la Form et je n'ai pas trouvé où le mettre pour qu'il soit vu.

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,


    C'est quoi comme fonction ?
    on peu voir ?

    si c'est fonctions sont destinées à n'être utilisée que dans ton userform tu peu les mettre dans le code de ton userform, sinon, rajoute un module à ton projet .

  3. #3
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    ça dépend quand tu veux que ton code soit exécuté...

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Par défaut
    Voilà le code de ma fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function Extract(str as String, num as Integer)
        Dim pos As Integer
     
        For i = 1 To num
            pos = InStr(1, str, ";")
            If pos = 0 Then
                Extract = str
            Else
                Extract = Left(str, pos - 1)
                str = Mid(str, pos + 1, Len(str))
            End If
        Next i
    End Function
    Le but est de restituer les données dans le userform lors de l'ouverture.
    A la précédente fermeture, ces données ont été enregistrées avec des ; comme séparateurs.

    Si la fonctionest dans le code du userform, lors du "show" j'ai une erreur 1004,
    indiquant un pb dans le code du userform.
    Si je mets la fonction dans un module, le code userform bloque en me signalant "fonction inconnue".

  5. #5
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    on peu voir comment tu utilise ta fonction ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub UserForm_Initialize()
    .....
            CA = Extract(info, 1)
            Jour = Extract(info, 2)

  7. #7
    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
    Dans un moidule et déclarée publique
    Mais :
    1) tu devrais définir le type de ta fonction (pas fait...)
    2) qu'est cette boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 1 To num
            pos = InStr(1, str, ";")
            If pos = 0 Then
                Extract = str
            Else
                Extract = Left(str, pos - 1)
                str = Mid(str, pos + 1, Len(str))
            End If
        Next i
    qui fait num fois la même chose sans utiliser i ?
    Il y a très sûrement mieux à écrire que celà !
    Qu'est Num ?
    A quoi sert-t-il d'écrire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str = Mid(str, pos + 1, Len(str))
    dans une fonction qui, elle, est censée retourner la valeur Extract.... ?
    Tout cela me parait assez anormalement broussailleux ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Deux 'function' pour protéger les numériques values
    Par THE-PHP-LOVER dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 1
    Dernier message: 05/01/2010, 10h47
  2. Réponses: 0
    Dernier message: 27/12/2008, 23h49
  3. Function pour parcourir une colonne de table
    Par Rgent dans le forum Développement de jobs
    Réponses: 10
    Dernier message: 22/05/2008, 11h26
  4. Bouton de contrôle pour USERFORM.
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/05/2008, 15h10
  5. Réponses: 10
    Dernier message: 13/02/2006, 15h29

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