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 :

Pb avec ActiveWorkbook.SaveAs si plusieurs classeurs ouverts [XL-2003]


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 graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Pb avec ActiveWorkbook.SaveAs si plusieurs classeurs ouverts
    Bonjour,

    Je dispose d'une macro qui me crée un nouveau classeur en m'intitulant "Classeur 3" par exemple au cas où il y aura déjà eu 2 nouveaux classeurs créés avec mon classeur actuel (Base de données) ouvert.
    Avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Wbk As Workbook
        Set Wbk = Workbooks.Add
        Wbk.Activate
    Grace a ceci, je fais des copier/coller de mon classeur actuel (Base de données) vers ce nouveau classeur.
    Dans cette macro, à un certain moment, çà me crée encore un nouveau classeur (classeur 4 si je suis la logique) dans lequel vienne se coller des infos du premier classeur crée (classeur 3), voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.DisplayAlerts = False
        Sheets("Matrice").Copy
    .

    Ce classeur 4 doit être obligatoirement enregistré sur mon disque dur puis fermé.
    Actuellement j'ai ce code mais çà bloque sur la ligne 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs AdresseRépertoire & "\" & "Name" & ".xls"
        ActiveWindow.Close
    Concernant l'adresse du répertoire où vient s'enregistrer le classeur, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AdresseRépertoire = ActiveWorkbook.Path
    Je suppose que celà est dû au classeur 3 qui est ouvert mais que je peux fermé car la macro reprend ensuite sur ce classeur 3.

    En espérant avoir été avoir clair,
    Cordialement,
    _____ Graphikris.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Bonjour

    Tu dois fermer le classeur (activeWorkbook) et non la fenêtre (ActiveWindow)

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Merci Chris,
    Je viens de modifier mais çà perdure car le souci est sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs AdresseRépertoire & "\" & "Name" & ".xls"
    et non sur la 2ème ligne.
    Effectivement je mets : ActiveWorkbook alors que j'ai 3 classeurs ouverts,il faut que je lui indique que c'est le dernier qui vient d'être crée que je dois enregistrer sur le disque dur.

    Cordialement

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Re

    N'as-tu pas un fichier portant le même nom (Name en l'occurence) dans ce dossier ?

  5. #5
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Non pas du tout et meme si le fichier existait déjà je devrais avoir :
    le fichier "Name.xls" existe déjà, voulez vous le remplacer ? Oui ou Non

    En fait il faut un code permettant de faire comprendre a Excel que c'est le dernier classeur créé qui doit etre enregistré bien que d'autres sont ouverts.

    Cordialement.

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour.

    En fait la réponse est certainement dans le code mais comme il n'est pas partagé …

    Comment est créé le classeur 4 ? S'il dispose lui aussi d'une variable objet …

    Citation Envoyé par graphikris Voir le message
    Non pas du tout et meme si le fichier existait déjà je devrais avoir :
    le fichier "Name.xls" existe déjà, voulez vous le remplacer ? Oui ou Non
    Ben non vu que dans le code DisplayAlerts = False !

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

Discussions similaires

  1. [XL-2010] Incompatibilité de type avec "ActiveWorkbook.SaveAs"
    Par daddygraffiti dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/11/2013, 01h19
  2. Réponses: 3
    Dernier message: 21/06/2008, 05h35
  3. Réponses: 12
    Dernier message: 21/03/2008, 11h52
  4. Formules avec plusieurs classeurs
    Par ananar dans le forum Excel
    Réponses: 2
    Dernier message: 04/11/2007, 21h52
  5. [VBA-E] Probleme avec l'activate d'un classeur ouvert pour un copy paste
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2006, 22h31

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