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 :

L'exécution d'une macro s'arrête sur l'instruction copy


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut L'exécution d'une macro s'arrête sur l'instruction copy
    Hello,

    Je joins le code ci-après est sensé copier les trois premières feuilles d'un classeur dans un autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
    Public Constat2Wbk, AfterConstat2Wbk As Workbook
    Sub CopySheet()
      Dim i As Integer
      Set AfterConstat2Wbk = ActiveWorkbook
      Set Constat2Wbk = Workbooks.Open(AfterConstat2Wbk.Sheets(1).Cells(2, 1))
      For i = 1 To 3
        Constat2Wbk.Sheets(i).Copy After:=AfterConstat2Wbk.Sheets(i)
      Next i
      Constat2Wbk.Close
    End Sub
    Ce code ne génère pas de message d'erreur mais n'exécute rien.
    De plus, en mode pas à pas, je constate que l'exécution s'achève sur l'instruction de copie située dans la boucle.
    Celle-ci n'est pas exécutée 3 fois comme demandé, Pas plus que l'instruction de fermeture du classeur situé après la boucle.

    Je suis sous Excel 2003 et je crois me souvenir que ce code fonctionnait sous Excel 2000.

    Une idée ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Plus bizarre encore.
    Je copie une feuille d'un classeur dans un autre avec l'enregistreur de macro activé.
    La copie se fait correctement.
    Si j'exécute la macro enregistrée, pas de message d'erreur et la macro ne va pas au delà de l'instruction copy.

    Je constate que je ne suis pas le premier à avoir eu ce problème
    http://www.ureader.com/msg/103737988.aspx
    Mais je ne trouve pas de solution.

    Aucun membre n'a vécu cela ?

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Une première remarque sur la déclaration de tes variables, le type doit être déclaré pour chaque variable mais ce n'est pas la cause du problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Constat2Wbk As Workbook, AfterConstat2Wbk As Workbook
    Dans la cellule A2 du classeur contenant la macro, tu as bien le chemin complet et le nom complet avec l'extension du fichier à ouvrir, du style "C:\Repertoire\LeClasseur.xls" ?

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Oui, le nom complet figure bien dans la cellule.

    J'ai essayé cette macro sans problème sur un autre PC.

    Il semblerait que l'instruction incriminée cale soit en raison de la version Excel, ou toute autre raison qui m'échappe

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Ce code est-il dans le classeur "AfterConstat2Wbk"?

    PGZ

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Oui, j'ai fait des tentatives en le lançant à partir d'autres classeurs sans effet.

    Configuration où cela fonctionne : Windows Xp, Excel 2000
    Configuration où cela dysfonctionne : Windows Xp, Excel 2003

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/02/2015, 07h36
  2. [XL-2010] Exécution d'une macro VBA sur feuilles et données verrouillées
    Par lysere dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2014, 14h05
  3. Réponses: 0
    Dernier message: 07/10/2009, 11h38
  4. Exécution d'une macro sur une boite générique
    Par Ptikir dans le forum VBA Outlook
    Réponses: 10
    Dernier message: 23/03/2009, 09h40
  5. Revenir sur la cellule sélectionné après exécution d'une macro
    Par Daniel-Gérald dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2007, 21h50

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