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 :

[VBA-E] enregistrer un classeur excel depuis un autre classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut [VBA-E] enregistrer un classeur excel depuis un autre classeur
    bonjour,

    je souhaite enregistrer un classeur excel(que l'on apellera B) depuis un autre classeur excel (que l'on appellera A).

    tout est par programmation VBA dans A

    B est ouvert en modification

    je modifie des cellules de B via A (en fait je modifie des mots de passe ou des droits d'accès ou j'ajoute ou supprime des utilisateurs)
    jusque là pas de problème.

    je quitte A (on ferme et on enregistre A et B), les modifications ne sont pas prises en compte.

    j'ai essayer B.save
    B.saveas (B)
    B.close savechanges:=true
    à chaque fois Excel m'envoie un message (que je sais bloquer) me demandant confirmation.je répond oui à chaque fois

    A et B sont fermés. Si je réouvre A ou B aucune de mes modifications ne sont prises en compte.

    j'ai même essayer d'appeler depuis A des auto_macro de B sans succès.

    En fait mon erreur ressemble un peu à B qui serait en lecture seule or ce n'est pas le cas.

    soit je fais quelque chose de faux, soit je n'utilise pas les bons code,...

    merci de m'aider.
    je ne suis en mesure de répondre et tester que du lundi au vendredi courant de la journée

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 557
    Par défaut
    PEut être bête qce que je vais te dire mais çà peut être une erreur

    Est-ce que par hasard, tu ne ferais pas ton A.quit avant le B.Save ??
    Si c'est le cas, c'est normal qu'il enregistre rien car il quitte tout avant la sauvegarde.....

    Fait d'abord les sauvegardesavant de quitter ton fichier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    non je l'ai vérifier. j'y avais déjà pensé mais merci d'avoir essayer

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 557
    Par défaut
    Essaie de mettre en commentaire la partie A.Quit et vérifie si ton classeur B est bien sauvegardé avant de tout fermé...
    Es-tu sûr du chemin où tu le sauvegardes ????

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    c'est peut etre une histoire de priorité ou d'activeworkbook
    puisque tu fermes tout en même temps tu peux essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Wb As Workbook
    For Each Wb In Application.Workbooks
        If Not Wb.Name = ActiveWorkbook.Name Then Wb.Close True
    Next Wb
    là, il va te fermer (et enregistrer)tout classeur excel ouvert à l'exeption du classeur actif, donc ton A, et donc, si ça marche et qu'il enregistre, c'est que ça ne viens pas du classeur B mais de ton code

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    je vous remercie

    j'essaierai lundi et je vous dirais si cela à fonctionner.

    merci et bon WE

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par alsimbad
    c'est peut etre une histoire de priorité ou d'activeworkbook
    puisque tu fermes tout en même temps tu peux essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Wb As Workbook
    For Each Wb In Application.Workbooks
        If Not Wb.Name = ActiveWorkbook.Name Then Wb.Close True
    Next Wb
    là, il va te fermer (et enregistrer)tout classeur excel ouvert à l'exeption du classeur actif, donc ton A, et donc, si ça marche et qu'il enregistre, c'est que ça ne viens pas du classeur B mais de ton code
    Attention à ne pas confondre le classeur actif (celui qui est affiché, qui a le focus) et le classeur où tourne la macro.
    Celui où tourne le code s'appelle ThisWorkbook!
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [XL-2007] exporter les une ligne excel vers un autre classeur excel en vba
    Par Maxim0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2011, 21h55
  2. [XL-2007] exporter les donnée excel vers un autre classeur excel en vba
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2011, 10h58
  3. créer un classeur Excel à partir d'autres classeurs
    Par aweb dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 30/08/2010, 13h40
  4. Réponses: 1
    Dernier message: 29/05/2008, 17h10
  5. Enregistrer une feuille Excel sur un autre classeur
    Par Manou34 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/01/2008, 16h41

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