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 :

Problème entre 2007 et 2010


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut Problème entre 2007 et 2010
    Hello le forum,

    J'ai développé toute une application avec Excel 2007 et maintenant que je la teste sur 2010, j'ai certaines macros qui plantent... Le VBA ne s'affiche même pas pour indiquer la ligne qui pose problème mais la macro tourne en rond et plante Excel.

    En testant ma macro pas-à-pas, j'ai remarqué qu'il plante lorsque j'insère une ligne dans mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.EntireRow.Insert
    Est-ce un problème connu ? Le code a-t-il changé sur 2010 ? Est-ce peut-être un problème de macros complémentaires entre 2007 et 2010 ?

    Si quelqu'un me m'aiguiller, je l'en remercie d'avance

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne vois pas de problème avec cette ligne de code en version 2010 sauf si la sélection est une colonne (clic sur une lettre de colonne)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut
    Il me semble aussi que cette ligne est tout-à-fait standard...

    Je n'y connais rien aux librairies mais si je regarde dans mon VBA Excel 2007 sous le menu Outils > Références, les librairies Microsot Office Excel 12.0 Objects sont utilisées.

    Alors que si je regarde dans mon Excel 2010, les librairies 14.0 sont activées...

    Est-ce que ça pourrait provenir de ces librairies ?

    D'autant plus, que j'ai pas l'impression que la plante mais qu'elle s'éxécute mais en prenant un tout de fou donc où bon d'un moment, je ferme la tâche en cours. Alors qu'Avec 2007, le temps d'exécution est super rapide...

  4. #4
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut Je continue mes tests...
    Ce problème comment à me prendre la tête...

    Si j'exécute mon code pas-à-pas, je vois bien qu'il est super lent chaque fois qu'il tombe sur une ligne de code qui insère une ligne...

    En lisant plusieurs forums, j'ai pu constater que certaines personnes disent que la commande Selection ralentit souvent le processus...

    J'ai essayé avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.EntireRow.Insert
    mais le problème est toujours le même...

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne constate pas de lenteur particulière mais je n'ai pas vu le reste de ton code.
    Il est clair que si tu dois faire une centaine d'insertion et qu'à chaque fois tu fais un Select et un Selection ce sera très lent.
    Si l'insertion est dans une boucle, tu peux aussi travailler avec l'index de la ligne
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim r As Long
     For r = 50 To 2 Step -2
      Rows(r).Insert
     Next
    Tu peux aussi faire précéder ton code de l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     application.ScreenUpdating = False
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut
    L'Application.Screenupdating est déjà utilsée mais rien ne change...

    Et si je comprends bien ton code, il permet d'ajouter plusieurs lignes au même endroit ?

    J'ai dans mon code, à 1 un endroit l'insertion d'une ligne. Ce bout de code fait partie d'une boucle pour qu'il s'exécute sur toutes les feuilles mensuelles, donc il utilise 12 x l'insertion de lignes mais pas en continu.

    Je vais essayer de trouver une de mes versions qui n'a pas de données confidentielles et éventuellement te l'envoyer pour que tu puisses tester le fichier ?

Discussions similaires

  1. [Toutes versions] La meilleure version d'Excel, entre 2007 2010 et 2013 ?
    Par sbiledsi dans le forum Excel
    Réponses: 3
    Dernier message: 09/09/2013, 22h13
  2. [2007] Problème à l'installation de microsoft Office Manager 2007 ou 2010
    Par Dolphus dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 25/09/2012, 23h11
  3. [XL-2010] Problème de compatibilité Excel 2010 lu sous 2007
    Par Sibuxian dans le forum Excel
    Réponses: 0
    Dernier message: 18/09/2011, 01h34
  4. [AC-2010] Lignes détail entre AC 2007 et 2010
    Par AlainL dans le forum IHM
    Réponses: 6
    Dernier message: 25/07/2011, 16h22
  5. [SP-2010] problème synchronisation entre sharepoint Moss 2010 et l'active directory
    Par babouchka666 dans le forum SharePoint
    Réponses: 0
    Dernier message: 26/07/2010, 17h13

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