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 :

procédure trop grande?


Sujet :

Macros et VBA Excel

  1. #1
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut procédure trop grande?
    bonjour,

    J'ai le message procedure trop grande qui s'affiche...

    comment faire? dois je creer 2 moules differents et a la fin du premier appeler le deuxieme...?
    j'ai besoin d'un sel module pour creer mon fichier..??

    Vidage du presse papier..?

    Comment forcer le vidage du presse papier egalement..?

    Merci

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Pourrait-on voir le bout de code qui pose problème ainsi que le numéro d'erreur?

  3. #3
    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
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    décompose donc ta procédure en plusieurs procédures .... (en créant d'autres procédures, que tu appelles depuis la tienne, pour exécuter telle ou telle autre partie de tes instructions....!

    Ainsi, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command1_Click()
      toto = 4
      toto = toto * 5
      MsgBox toto
    End Sub
    peut parfaitement (par exemple) se décomposer ainsi (avec une routine):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
      Dim toto As Integer
      toto = 4
      calcul toto
      MsgBox toto
    End Sub
     
    Private Sub calcul(toto As Integer)
     toto = toto * 5
    End Sub
    ou encore ainsi (avec une fonction) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
      Dim toto As Integer
      toto = 4
      toto = calcul(toto)
      MsgBox toto
    End Sub
     
    Private Function calcul(toto As Integer) As Integer
     calcul = toto * 5
    End Function

  4. #4
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut
    Ok pour les appels de fonctions ..je vais s doute utiliser la fonction call pour appeler une autre procedure...

    Par contre pour le presse papier je n'ai pas de message d'erreur...

    Juste un message excel qui me dit : "le contenu du presse papier est tres important, voulez vou non garder les donnees"

    Je ne souhetrais pas que ce message s'affiche et donc forcer le vidage du presse papier.

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Call n'est pas indispensable...

    Avoir une procédure trop grande, il faut déjà le faire... Combien as-tu de lignes?

    Vider le presse-papiers: Lorsque l'on demande le code, ce n'est pas pour rien... ... Tu as probablement un paste qui n'est pas résolu par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.cutcopymode = false
    , mais sans code...

    Tu peux toujours utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.displayalerts=false
    mais il ne faut pas oublier de le remettre à True après... et donc, sans ton code, je ne sais pas t'aider davantage

  6. #6
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut
    ok la fonction marche et la boite de dialogue presse papier n'apaprait plus. Il faut la repasser a true a la fin ou non?

    Je ne sais pas combien j'ai de ligne mais bcp oui...
    J'ai scindé ma procedure en 2 fonctions et ca marche nickel...!

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Comme tu postes plusieurs questions à la fois, que tu ne donnes pas le code que tu as testé... on ne sait pas t'aider. Par exemple, je ne sais pas ce que tu veux repasser à True à la fin... ni à la fin de quoi tu veux modifier cette valeur...

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par cchampion2fr Voir le message
    ok la fonction marche et la boite de dialogue presse papier n'apaprait plus. Il faut la repasser a true a la fin ou non?

    Je ne sais pas combien j'ai de ligne mais bcp oui...
    J'ai scindé ma procedure en 2 fonctions et ca marche nickel...!
    Je serais curieux de voir le code

+ 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, 10h52
  2. [XL-2003] Procédure trop grande
    Par direct83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/06/2012, 10h56
  3. procédure trop grande
    Par Selune6666 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2008, 18h21
  4. Diviser une procédure trop grande
    Par tenaka69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2007, 09h45
  5. Procédure trop grande
    Par bobie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2007, 14h30

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