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 :

Créer un listobject à partir d'un listobject ? [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    interessé par informatique
    Inscrit en
    Novembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : interessé par informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 42
    Par défaut Créer un listobject à partir d'un listobject ?
    Bonjour,

    Tous est dans l'intitulé.....

    Je m'explique :
    1/ J'ai un tableau structuré qui contient plusieurs colonnes & lignes -> Set Mon_Tableau = worksheets("Ma_Feuille").listobjects("Table").
    2/ j'aimerais avoir un objet de type ListObject -> Dim Ma_Colonne as Listobject.
    3/ qui contienne une colonne de "Mon_Tableau" -> Set Ma_Colonne = Mon_Tableau.Listcolumns("Ref").Range.listobject.

    Ce qui ne marche pas ici car Ma_Colonne.Range.Address = l'adresse de Mon_Tableau.

    D'où ma question est-il possible de créer un un objet de type ListObject qui soit une extraction d'un autre ListObject ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La colonne d'un objet ListObject est un objet Range
    Si maintenant on exporte l'objet Range on peut bien entendu, le convertir ensuite en objet ListObject.
    Exactement comme on le ferait manuellement
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    interessé par informatique
    Inscrit en
    Novembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : interessé par informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 42
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    La colonne d'un objet ListObject est un objet Range
    Si maintenant on exporte l'objet Range on peut bien entendu, le convertir ensuite en objet ListObject.
    Exactement comme on le ferait manuellement
    Et comment on fait ?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et comment on fait ?
    Voici un exemple de la conversion en tableau structuré (ListObject) d'une colonne copiée (ici Logement) de l'unique tableau se trouvant dans la feuille nommée db vers une nouvelle feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub T()
      ' Déclaration
      Dim oList As ListObject
      Dim rngColumn As Range
      Dim NewSheet As Worksheet
      ' Assignation
      Set oList = ThisWorkbook.Worksheets("db").ListObjects(1)
      Set rngColumn = oList.ListColumns("Logement").Range
      ' Start
      Set NewSheet = ThisWorkbook.Worksheets.Add       ' Insère une nouvelle et l'assigne à la variable objet
      rngColumn.Copy Destination:=NewSheet.Range("A1") ' Copie de la colonne nommée "Logement" à partir de la cellule A1 de la nouvele feuille
      ' Conversion de la colonne exportée en objet ListObject
      With NewSheet
      .ListObjects.Add SourceType:=xlSrcRange, Source:=.Range("A1").CurrentRegion, xlListObjectHasHeaders:=xlYes
      End With
      ' Fin
      Set oList = Nothing: Set rngColumn = Nothing: Set NewSheet = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    interessé par informatique
    Inscrit en
    Novembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : interessé par informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 42
    Par défaut
    Bonjour,

    Merci pour ces éclaircissements....
    En gros je suis obligé de faire une copie de la zone qui m'interresse et d'y affecter un listobject.

    Si je comprends bien un listobject est un objet qui doit pointer sur une zone d'une feuille d'un classeur et non un objet qui peut-être mis en mémoire comme un Array par exemple.

    Merci.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En gros je suis obligé de faire une copie de la zone qui m'interresse et d'y affecter un listobject.
    Ce serait plus simple que tu expliques ce que tu veux faire exactement.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Créer un ListObject: optimisation de code
    Par c.piette dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/04/2015, 11h39
  2. [XSLT] Créer un tableau à partir de sa description
    Par Skyou dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 20/03/2005, 20h01
  3. [C#] Créer un document à partir de mon prog
    Par matech dans le forum Windows Forms
    Réponses: 8
    Dernier message: 03/03/2005, 16h27
  4. Créer une video à partir d'images
    Par Akta3d dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2004, 14h46
  5. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06

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