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 :

Erreur de compilation, Procédure trop grande dans Excel 2016


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut Erreur de compilation, Procédure trop grande dans Excel 2016
    Bonjour,
    j'ai crée un tableau avec plusieurs formules, je voudrais crée une macro qui puisse initialiser le tableau tout en gardant une ligne pour le réutiliser.
    Mais lorsque je fais tourner ma macro un message s'affiche me disant que la procédure est trop grande.
    Y a-t-il une astuce pour contourner ce problème, ou une autre fonction permettant de réaliser la même tache ?
    Nom : Capturep.JPG
Affichages : 601
Taille : 37,2 Ko

    La taille du tableau peut varier selon la plage de durée à analyser (donnée recueilli après une semaine, un mois ..) donc je peux avoir de 100 lignes jusqu'à 30 000 lignes par exemple.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Sans voir la macro, c'est difficile de te répondre.
    Fais un copier/coller dans ton message en utilisant le bouton # pour le formater.

    Si ta procédure est effectivement trop grande, elle peut sûrement être divisée en parties ou raccourcie avec des boucles.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    La macro dépasse le nombre de caractère pour un message je vais essayer de la diviser comme tu as dit.
    Sinon il y a pas une fonctionnalité sur Excel qui réalise cette opération ?
    Et merci.

  4. #4
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne comprends pas l'intérêt d'initialiser un tableau par macro. Vu l'illustration, je suppose que tu parles d'un tableau structuré.

    Tu crées le tableau structuré en Excel, avec quelques lignes, les formules, la validation éventuelle, les mises en forme conditionnelle éventuelles, puis tu supprimes les lignes de ton tableau et tu le mets à disposition des utilisateurs ou du code qui doit l'alimenter.

    Les formules, la validation et les MFC auront été sauvegardées et "renaîtront" comme par magie dès la saisie de la première ligne du tableau structuré. C'est un des nombreux avantages de travailler avec le tableau structuré. Il est rarement utile de concevoir le tableau par macro.

    En ce qui concerne ta procédure, il est clair que si elle est trop longue, c'est qu'elle est mal écrite (ce n'est pas une attaque personnelle, c'est un constat technique). Une procédure doit avoir UNE et UNE SEULE responsabilité, ce qui veut dire qu'elle ne doit réaliser qu'une seule tâche, même si cette tâche requiert plusieurs lignes au sein de la procédure.

    Nous dire ce que tu souhaites réaliser nous aidera mieux que de nous fournir une procédure trop longue et donc indigeste et difficile à lire
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    En fait je souhaite crée un bouton qui permettra d'initialiser le tableau pour le réutiliser sans avoir à ouvrir une autre fois le fichier à nouveau.
    Par exemple j'utilise une premier fois le tableau pour traiter les données du mois de janvier, ensuite je voudrais initialiser le tableau pour traiter les données du mois de février et ainsi de suite sans passer à chaque fois par la suppression des lignes.
    j’espère que j'ai été claire

  6. #6
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par majid7 Voir le message
    [...]je voudrais initialiser le tableau pour traiter les données du mois de février et ainsi de suite sans passer à chaque fois par la suppression des lignes.
    j’espère que j'ai été claire
    Je ne vois pas comment tu pourrais initialiser le tableau sans en supprimer les lignes.

    Si tu veux le faire par bouton plutôt que manuellement, tu peux utiliser le code suivant en adaptant le nom du tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if range("tableau1").ListObject.ListRows.Count >0 then range("tableau1").ListObject.DataBodyRange.Delete
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    Oui je voulais dire ne pas supprimer les lignes manuellement.
    J'ai utilisé ton code, il marche bien sauf que après initialisation du tableau, quand je colle des données sur le tableau il y a que la premier ligne qui s'affiche
    Mais merci beaucoup pour ton aide

  8. #8
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Collage manuel ou par code?

    Normalement ça devrait ajouter autant de lignes au tableau que les lignes que tu colles.

    Si ça ne le fait pas par collage manuel, va voir les options de correction automatique et vérifie que l'extension des tableaux est bien automatique.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    En effet c'est un collage manuel, j'ai réessayé une deuxième fois et ça marche maintenant
    Merci du coup de pouce

Discussions similaires

  1. [VBA Excel] Problème : Procédure trop grande
    Par Ihaben dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/03/2018, 14h16
  2. Erreur de compilation, Procédure trop grande
    Par theredg9 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/12/2016, 20h21
  3. erreur sur l'insertion des commentaires dans excel
    Par fulgaro dans le forum Excel
    Réponses: 1
    Dernier message: 19/02/2007, 08h09
  4. texte trop grand dans les boutons
    Par de_bu_gg_er dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 05/07/2006, 12h28
  5. Erreur de compilation de winsock.h dans VC++2005
    Par Jakariba dans le forum MFC
    Réponses: 3
    Dernier message: 24/05/2006, 15h54

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