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

VBA Access Discussion :

[vba] Procedure trop grande


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut [vba] Procedure trop grande
    Bonjour voilà mon probleme.
    lorsque j'execute ma procedure (quand je clic sur validé).
    Une erreur m'est retourné : "Procedure trop grande"
    ha quoi c'est du (ma procedure lorsque je la copie colle sous word fais 47pages )

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Par défaut
    Bonjour,

    Tu peux peut être découper ta procédure en différentes fonctions qu'un procédure principale appellera, ça diminuera la 'taille' de la procédure

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    j'ai ma procedure de ce type :
    Private Sub test_Click()

    End Sub

    je fais comment pour declarer une fonction à l'interieur et l'appellé??

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    J'ai créé une fonction qui me permet d'exporter mes valeurs dans excel :
    Public Function expor_excel()
    comment je fais pour l'appellé dans ma procdure SVP

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    C'est bon j'ai trouvé je fais call [nom de ma fonction]
    Mais il ne recupere pas toutes les variable local de ma procedure. Pk?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Par défaut
    imaginons ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For i = 1 To 10
        i = i + 4
        i = i - 2
        i = i * 2
    Next i
    Tu le factorise en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For i = 1 To 10
        i = Call action_sur_i(i)
    Next i
    .............
    Function action_sur_i(i as integer) as integer
        i = i + 4
        i = i - 2
        i = i * 2
    end function
    C'est très bette sur cette exemple, mais factorisé le code est très utile surtout si tu fais la même opération à plusieurs endroits

    ma procedure lorsque je la copie colle sous word fais 47pages
    Je sais pas comment tu t'y retrouve mais vu la taille de la procédure tu dois forcément pouvoir factoriser des choses.

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    Les variables de ma procedure et les resultats trouvé dans ma procedure, est ce que je peux les reprendre dans la fonctions sans les passer en parametres?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Par défaut
    Oui si elles sont déclarées en variables globales.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Option Compare Database
    Option Explicit
    'mettre les variables globales ici
    elles seront accessibles à toutes les 'sub' et 'function' d'un formulaire ou état, ou toutes les fonctions d'un module.

  9. #9
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Une procédure dépasse rarement une page. Il faut factoriser un maximum avec des fonctions

  10. #10
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    C'est bon je n'ai plus qu'une page je me suis pris la tete pour rien.
    j'avais oublié d'utiliser un for au lieu de créé 30 variable * 12 mois ... 360variable alors que maintenant j'utilise les meme pour les 12 mois en manipulant les chaine de caractere.
    merci @+

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

Discussions similaires

  1. Problème simplification de code VBA - Procédure trop grande
    Par Eleanor dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/08/2013, 11h52
  2. [VBA Excel]Nombre hexa trop grand ?
    Par rtg57 dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 09/12/2008, 08h42
  3. [VBA-W2007]scinder automatiquement un tableau trop grand
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 22/06/2007, 18h28
  4. Procedure trop grande
    Par scrat57000 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/05/2007, 11h14
  5. Surface trop grande
    Par Black_Daimond dans le forum DirectX
    Réponses: 1
    Dernier message: 18/01/2003, 04h02

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