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

Excel Discussion :

Redimensionnent d'un tableau structuré en VBA [XL-365]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 112
    Par défaut Redimensionnent d'un tableau structuré en VBA
    Bonjour à tous

    Je possède un tableau structuré composé en 2 parties :
    1. Les premières colonnes contiennent les données
    2. Les colonnes suivantes contiennent les formules


    Mon code VBA fait ceci :
    1. J'efface les données sur la première partie du tableau
    2. Je colle les nouvelles données


    Nous avons 2 cas
    1. Cas 1 : Le nombre de ligne est supérieure à la taille du tableau
    2. Cas 2 : Le nombre de ligne est inférieure à la taille du tableau


    Dans le premier cas, pas de problème, le tableau s'ajuste automatiquement et les formules aussi.
    Dans le deuxième cas, il y a un effet bord puisque mes formules affichent des erreurs en l'absence de donnée (#N/A par exemple) (Voir PJ). Alors oui, on pourrait effacer ces erreurs mais cela introduit un léger biais dans des TCD.

    Je cherche donc à redimensionner en VBA, le tableau en fonction du nombre de ligne contenu. Suis je claire j'espère...

    Mes recherches m'ont fait arriver sur des instructions comme Redim mais je ne suis pas sûr que cela corresponde à mon besoin.

    Si quelqu'un à un bout de code à proposer, je le remercie d'avance, et comme tous ceux qui auront pris le temps de lire ce message.

    Bonne journée à tous
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    A quoi ressemble votre code VBA?

    Cdlt

  3. #3
    Expert éminent

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

    Il faut effacer toutes les lignes sauf la 1ère, puis les données de celle-ci

    Les formules se propageront automatiquement quant tu copiera tes nouvelles données
    Prend l'habitude de donner des noms signifiants à tes Tableaux au lieu du nom automatique Tableau1

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 112
    Par défaut
    Bonjour 78chris

    Merci pour ta réponse. Et cela fonction plutôt pas mal. Sur un fichier de démo comme celui, très léger, c'est rapide. Sur mon fichier de travail, faisant quelques Mo , ca risque de prendre un peu plus de temps. Mais je prends !

    Alors l'étape suivante est comment je code ça?
    J'ai essayé avec l'enregistrement automatique et cela donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ListObject.ListRows(1).Delete
    Si je comprends bien cette ligne, cela supprime la ligne 1 du tableau. D'ailleurs, c'est ce que réalise la macro.

    Ce qui voudrait dire que je dois faire cette opération de manière itérative, autant de fois qu'il y a de ligne. Ca peut le faire, c'est un peu bourrin mais ça marche .
    Y'a pas un moyen pour indiquer le nombre de ligne du tableau à sélectionner et à supprimer l'ensemble en 1 fois?

    PS : Bien sûr que oui, je renomme mes tableaux avec un nom précis. Ici, pour le fichier démo, j'ai laissé tel quel

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 112
    Par défaut
    Après quelques tests, ca ne peut pas marcher.

    Pourquoi? et bien si je supprime toutes les lignes, je supprime aussi les formules associées en bout de colonne.
    Mon objectif est de supprimer uniquement les lignes vides.

    J'avais en tête de sélectionner simplement la partie vide et de supprimer cette sélection. Ca doit être possible, j'imagine.
    Je laisse les spécialistes se prononcer éventuellement.

    En attendant, je vais essayer de bidouiller un p'tit script pour que ca marche, ou en tout cas que ca corresponde à ce que je veux...

    A suivre

  6. #6
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 556
    Par défaut
    Bonjour

    Pierre Fauconnier a répondu magnifiquement et récemment à un post qui avait quasiment le même sujet.
    La réponse se trouve en suivant ce lien.

    Il ne faut pas s'inquiéter pour les formules quand on supprime toutes les lignes d'un tableau structuré. Elles sont conservées (je ne sais où) et se remettent automatiquement lorsqu'au moins une nouvelle donnée est inscrite.

    En espérant que cela aide

    Bonne journée

    Pierre Dumas

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut,

    En complément de ce qui a été dit ici (au passage, merci Pierre Dumas pour le lien vers ma réponse )...

    Pour bien maîtriser les tableaux structurés en VBA, il faut bien les maitriser en Excel. Mon tuto sur le sujet pourrait t'être utile...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Remplissage tableau structuré VBA via un Userform
    Par Jeremy.fuego dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 17/01/2020, 10h47
  2. [XL-365] références de tableau structuré en VBA
    Par fabrice57100 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2019, 14h31
  3. Réponses: 25
    Dernier message: 19/09/2018, 14h03
  4. [Toutes versions] Tableau structuré & VBA
    Par triumphk dans le forum Excel
    Réponses: 4
    Dernier message: 09/01/2015, 16h29
  5. [XL-2010] Redimensionnement d'un tableau dynamique et perte de données VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2014, 22h54

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