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 :

Recupérer le nom d'un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 47
    Par défaut Recupérer le nom d'un tableau
    Bonjoour à tous,

    Je cherche à retrouver le nom d'un tableau dans une page et j'ai une première erreur dans la gestion de mes feuilles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub CreationLignes_Cliquer()
    With Activesheets
    MsgBox Activesheets.Name
    MsgBox Cells("1,5").Value
    End With
    Il semblerait qu'il y'ait un souci d'objet, j'ai le message d'erreur "objet requis".

    Le code est situé dans la feuille.

    Quelqu'un a une idée ?

    En vous remerciant,

    Gaétan

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Gaétan, bonjour le forum,

    il y a un
    s en trop dans Activesheets.Name
    ensuite si la cellule active fait partie du tableau, le code ci-dessous te renverra le nom du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveCell.ListObject.Name

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 47
    Par défaut
    Top Merci Thauteme,

    J'ai un sujet sur le renvoi de la valeur de la cellule cells("1,2")

    Elle ne renvoie pas la valeur de la cellule mais la valeur de la celle de la feuille qui a été collée.


    Tu as une idée ?

    J'active pourtant la bonne feuille,
    je le vérifie avec un MsgBox

  4. #4
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Si je me base sur ton code, ça donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CreationLignes_Cliquer()
    With ActiveSheet
        MsgBox .Name
        MsgBox .Cells(1, 5).Value
    End With
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 47
    Par défaut
    Ok
    J'ai compris,
    si je ne mets pas le point, ça ne prend pas en compte la feuille active

    Merci beaucoup,

    En essayant de manipuler des objets certains mettent listObject(1) en lieu et place du nom de l'objet. Sur ma feuille j'ai deux objets

    A quoi fait référence le 1 stp ?

    Je n'arrive pas à trouver les réponses dans les tutos,

  6. #6
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Quand tu crées un tableau structuré (ListObject) il prend par défaut comme nom Tableau1, puis, si tu en crées un second dans le même onglet il s'appellera par défaut Tableau2, etc. Tu peux bien évidement modifier ces noms en modifiant en haut à gauche le champ Nom du tableau :. Ensuite, pour y faire référence tu dois spécifier l'onglet dans lequel il se trouve puis, dans la collection des tableaux structurés de cet onglet (ListObjects avec un s à la fin) le spécifier soit par son numéro d'index (attribué à la création en incrémentant) soit par son nom.

    Si par exemple tu n'as qu'un seul tableau structuré non renommé dans l'onglet Feuil1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").ListObjects(1).DataBodyRange.Select
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").ListObjects("Tableau1").DataBodyRange.Select
    va sélectionner à coup sûr le seul tableau structuré de l'onglet.

    En revanche, si tu en as plusieurs et que tu les as renommé, tu n'es peut être plus en mesure de savoir leur index (lequel a été créé en premier) , mieux vaut écrire le nom du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").ListObjects("MonTableau").DataBodyRange.Select

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 47
    Par défaut
    C'est hyper Clair. Merci !

  8. #8
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 549
    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 549
    Par défaut
    Bonjour à tous

    Pour compléter on peut aussi utiliser [NomTableau].ListObject ou range("NomTableau").ListObject sans avoir à préciser l'onglet, un listobject étant attaché à une feuille mais ayant un nom unique dans le classeur

    D'où l'intérêt de bien nommer Tableaux, Onglets, Classeurs, etc

  9. #9
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Merci Chris pour la précision. Comme je me suis intéressé il y a peu dans les tableaux structurés je pensais, à tort, qu'il pouvait y avoir un Tableau1 dans l'onglet Feuil1 et un autre dans l'onglet Feuil2... Il donc inutile de spécifier l'onglet !...

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

Discussions similaires

  1. Recupérer le nom d'un tableau
    Par ghosty177 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2011, 17h27
  2. le nom d un tableau est vraiment un pointeur?
    Par d-a-v-e dans le forum C++
    Réponses: 23
    Dernier message: 19/12/2005, 15h47
  3. recuprer la hauteur d'un tableau
    Par heero dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/11/2005, 21h43
  4. recupération d'objet d'un tableau
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/07/2005, 15h01
  5. [BCB5][IBX5.4]Recupérer le nom du serveur ??
    Par Sitting Bull dans le forum Débuter
    Réponses: 1
    Dernier message: 19/10/2004, 19h01

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