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 :

Utilisation de différents classeurs (non enregistrés)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2017
    Messages : 10
    Par défaut Utilisation de différents classeurs (non enregistrés)
    Bonjour à tous,
    avant tout je tient à dire que je cherche depuis quelques temps sur des forums pour trouver la réponse mais il n'y a rien à ce sujet et je ne sais même pas si la solution existe.

    voila la situation :
    1 - j'effectue une extraction SAP qui se présente sous la forme d'un fichier Excel qui se nomme Classeur1
    2 - j'ai un deuxieme fichier Excel appelé Donne qui est ouvert
    3 - je copie des données de Classeur1 dans Donne

    en sois je sais faire toute la mise en forme etc...

    mon seul problème est de mettre Classeur1 comme le classeur actif
    j'ai déjà essayé Workbooks("Classeur1.xls").Activate et Windows("Classeur1.xls").Activate mais aucun des deux ne marche.

    merci d'avance

    PS : il est aussi possible qu'il est un problème avec le ".xls" comme il s'agit d'une extraction SAP mais j'ai essayé avec d'autres types et aucun ne fonctionne....

  2. #2
    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,

    apparemment tu as ouvert plusieurs instances d'Excel (inutile à part gâcher des ressources) …
    Le code principal doit ouvrir le fichier généré par SAP dans la même instance.
    Et un bon code n'a rien besoin de sélectionner ni d'activer, il suffit juste de préciser la filiation de chaque objet …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Quand le "Classeur1" est ouvert, quel nom est indiqué dans le bandeau Excel ? Y a-t-il un ".xls" ou autre extension à la fin du nom ?

    Autre question qui ne va pas résoudre directement ton problème mais qui peut mettre sur le chemin de la solution : pourquoi activer le Classeur1 ?

  4. #4
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2017
    Messages : 10
    Par défaut
    Bonjour,
    Pour répondre à tes question, sur mon Classeur1 il n'y a en effet pas d'extensions.
    Je ne sais pas vraiment pourquoi j'active le classeur1 pour tout te dire, mais j'ai appris à changer de classeur de cette manière et je n'ai pas cherché d'autres solutions, mais s'il y a un moyen plus simple et plus efficace je suis preneur, et je doit simplement copié des lignes sur ce classeur1.
    Autre question, est 'il possible que la macro gère des procédure sur autre chose que Excel (ici SAP)

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par benamor59 Voir le message
    sur mon Classeur1 il n'y a en effet pas d'extensions.
    Donc : Workbooks("Classeur1").Activate ou Windows("Classeur1").Activate.

    Je ne sais pas vraiment pourquoi j'active le classeur1 pour tout te dire, mais j'ai appris à changer de classeur de cette manière et je n'ai pas cherché d'autres solutions, mais s'il y a un moyen plus simple et plus efficace je suis preneur, et je doit simplement copié des lignes sur ce classeur1.
    Il est possible d'indiquer le parent d'un objet en le mettant en épithète.
    Par exemple, pour copier la cellule A1 de l'onglet Feuil1 du classeur MonClasseur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("MonClasseur").Worksheets("Feuil1").Range("A1").Copy
    Tout ça sans avoir fait de Activate ou Select sur ces objets.
    Ca donne un code plus sûr et une exécution plus rapide.

    Autre question, est 'il possible que la macro gère des procédure sur autre chose que Excel (ici SAP)
    Oui. Il suffit de sélectionner dans ton classeur la bibliothèque d'objets correspondante.
    Dans VBE > Menu Outils > Références

  6. #6
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2017
    Messages : 10
    Par défaut
    merci pour les réponses,
    malgres cela l'erreur "L'indice n'appartient pas à la selection" persiste à la ligne : Workbooks("Classeur1").Worksheets("PM - Catalog report").Columns("A:G").Copy

    voici une capture d'écran qui je l'espère pourra vous donnez une piste avec CR SAP mon fichier de bas et toujours le fameux Classeur1

    Nom : Capture pour Excel.PNG
Affichages : 465
Taille : 31,7 Ko

    il existe peut être une fonction spéciale autre que Workbooks pour gérer les classeurs non enregistrés ?

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Tu es sur du nom de ta feuille (à l'espace près)

    En cas d'erreur il peux être utile d'écrire ton code sur plusieurs ligne pour vérifier d'où vient le problème (mais une fois le problème identifié il plus judicieux de remettre tout sur une ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Classeur1").Worksheets("PM - Catalog report").Columns("A:G").Copy
    deviens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks("Classeur1").activate
    Worksheets("PM - Catalog report").activate
    Columns("A:G").Copy
    et suivant quel ligne renvoie une erreur tu sauras si le problème viens du nom de classeur ou du nom de la feuille.

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 05/06/2018, 09h36
  2. Modifier le FileFormat d'un classeur non enregistré
    Par Fischspoon dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 07/04/2017, 16h13
  3. [XL-2010] Se positionner sur un classeur Excel non enregistré ( fichier dqy )
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/06/2012, 10h08
  4. Travailler sur 1 classeur actif non enregistré
    Par pat_che dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/11/2007, 10h38
  5. [ToutlookApplication] Classe non enregistrée
    Par nico33410 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2005, 10h36

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