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 :

Lire première feuille classeur (non nommée)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Décembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Décembre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Lire première feuille classeur (non nommée)
    Bonjour,

    Ci-après la portion d'une macro sur laquelle je travaille, portion dont l'objectif est d'aller copier des données depuis une feuille d'un classeur fermé.
    Cette feuille porte le nom de "System ENG" mais peut parfois porter un autre nom selon le fichier. Dans tous les cas, c'est toujours dans la première feuille du classeur que les données visées sont inscrites (copie de la plaghe A1:D300)..
    Je souhaite :
    • soit remplacer "System ENG" directement par "la première feuille du classeur" ou une variable qui aurait été défini comme "la première feuille du classeur. J'ai essayé de remplacer System ENG par Sheets(1), mais ça ne marche pas
    • ou bien aller vérifier quelle feuille du classeur fermé contient la donnée x et choisir cette feuille pour en copier la plage A1:D300. Ce serait certainement la solution la plus pertinente mais je ne veux pas non plus faire trop compliqué, sachant que je reste un non expert en VBA.


    Merci par avance de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Fichier = Dir(Chemin & "*.xlsx")
        Application.ScreenUpdating = False
     
    Do While Len(Fichier) > 0 'debut de la boucle avec LOOP
    If Fichier <> ThisWorkbook.Name Then
    ThisWorkbook.Names.Add "Plage", _
    RefersTo:="='" & Chemin & "[" & Fichier & "]System ENG'!A1:d300"
     
            'on copie la feuille Eng System sur la feuille 2 et on nettoie la feuille
            With Sheets("Feuil2")  'on définit la feuille sur laquelle on va copier
            .[A1:d300] = "=plage" 'on définit la plage ou vont être copiées les cellules
            .[A1:d300].Copy
    Cordialement

  2. #2
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Bonjour, je ne sais pas sur un classeur fermé, mais sur un classeur ouvert, si je demande le nom de la feuille(1), je l'obtient.
    vous devriez essayer de charger le nom de la feuille un du classeur fermé dans une variable et ensuite d'utiliser le nom de la variable dans votre code.
    Enfin moi ce que j'en dit?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Test()
    X = Sheets(1).Name
    MsgBox X
    End Sub
    Cordialement
    On a deux vies, la deuxième commence quand on se rend compte qu'on n'en a qu'une.
    Confucius

  3. #3
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Regardes ici pour obtenir le nom des feuilles d'un classeur fermé :
    https://silkyroad.developpez.com/VBA...eursFermes/#LV
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. [XL-2003] Enregistrement classeur sur la première feuille
    Par Un Internaute dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/08/2014, 08h18
  2. Récupération d'un nom de feuille d'un classeur non actif
    Par tomaix dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/01/2013, 09h41
  3. Réponses: 0
    Dernier message: 23/11/2009, 18h35
  4. Réponses: 7
    Dernier message: 17/09/2008, 16h52
  5. copier dans première feuille vide d'un classeur
    Par Did123 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/03/2008, 13h42

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