Copier lignes d'un tableau structuré selon libellé

Bonjour le forum,
Dans le tableau structuré TS_Data de la feuille Journal j’ajoute des lignes de comptabilité.
J’aimerais pouvoir copier automatiquement dans une autre feuille chaque nouvelle ligne saisie en fonction du libellé choisi.
Les feuilles de destination portent les noms des libellés (Loyer, Charges, Parking)
Les lignes copiés doivent s’ajouter au tableau de chaque feuille.
Serait-il possible d’effectuer cela par un code vba?
Vous trouverez, en pièce jointe, un exemple simplifié de ma demande.
Je remercie d’avance toute éventuelle aide fournie.
Jorge
001e Filtre TS Selon libellé.xlsm (21,0 Ko)

Hello
la pièce jointe a dû passer à la trappe :innocent:

Ella a été ajouté. Désolé. C’est la première fois que je poste ici.

Bonjour le forum,
J’ai trouvé un code que j’essaie, sans succès, d’adapter. Ce code devrait en principe répondre à ma demande mais il faudra l’oeil d’un expert pour le faire fonctionner correctement. Dans l’état actuel, ne fait que la moitié du travail souhaité. J’ai mis le détail des problèmes rencontrés dans la feuille « Journal ».
Merci d’avance.
001f Filtre TS Selon libellé.xlsm (25,7 Ko)

Bonjour

Ci-joint ton fichier corrigé
Attention son traitement est conçu pour qu’à chaque nouvelle saisie en colonne « D » d’une donnée de recopier l’ensemble des enregistrements déjà effectués en plus de celui-ci dans l’onglet approprié déterminé dans cette colonne pour chacun d’eux mais après avoir au préalable été nettoyés
Donc dans cet esprit aucun doublon possible
Ceux que tu as constatés étaient le résultat de ce nettoyage mal adapté
On peux changer cet approche en ne lui faisant traiter que la ligne de l’enregistrement qui vient d’être saisie et non l’intégralité de ceux-ci
A toi de dire
Important son déclenchement intervient que sur la saisie de la cellule de colonne « D » dernière ligne en cours
Celle-ci donc doit impérativement être la dernière à être actualisée pour que toutes les cellules de l’enregistrement soient recopiées dans l’onglet cité

Ton fichier avec mes corrections

Testes et dis moi

001f Filtre TS Selon libellé.xlsm (26,4 Ko)

Bonjour le forum, FFO,
Merci pour ta proposition. Le code va mieux mais il y a toujours les dernières colonnes (après le libellé) de la dernière ligne saisie qui ne se remplissent pas.
De plus, j’essai de l’adapter à mon projet (remplissage du tableau structuré à l’aide d’un formulaire) mais le code ne s’enclanche pas.
Tu trouveras, en pièce jointe, le projet avec le formulaire.
Merci encore.
001g Filtre TS Selon libellé.xlsm (33,0 Ko)

ben avec un formulaire c’est plus simple
il suffit d’attribué les bons tableaux dans la textBox par exemple si loyer alors sauvegarder dans le tableau journal et loyer etc…

« Merci pour ta proposition. Le code va mieux mais il y a toujours les dernières colonnes (après le libellé) de la dernière ligne saisie qui ne se remplissent pas. »

Celles-ci sont elles saisies avant la donnée de la colonne « D » qui cible l’onglet à remplir ?

Pour ton projet le tableau utilisé n’a plus exactement les mêmes colonnes

Celui de ton premier fichier :

Celui de ton projet :

ce dernier a la colonne « iD » rajouté colonne « B » décalant toutes les autres

Cela ne correspond plus à la structure utilisée par le code et donc tu ne peux obtenir le résultat attendu

Soit tu remets la même structure soit il faut adapter la macro

A toi de dire

bonjour FFO, taz067, jorge1201,
2 propositions

  • un segment dans la feuille Journal qui filtre votre tableau structuré, c’est plus pratique que la méthode classique de filtrer la colonne « libellé »
  • la fonction filtre sur la feuille « loyer », mais pour cela votre version d’Excel doit être 2021, 365 ou 2024.
    001g Filtre TS Selon libellé.xlsm (30,2 Ko)

Bonjour le forum, taz067, FFO, Cow18,

003d onglet-copie-selon-libellé.xlsm (60,1 Ko)
Depuis mon premier post et en continuant mes recherches sur internet, j’ai pu préparer un cocktail de bouts de codes pour obtenir finalement ce que je cherchais à faire :

  1. Copier un tableau structuré dans une nouvelle feuille en se basant sur une feuille modèle;

  2. Nommer la nouvelle feuille (onglet) avec le Libellé saisi en colonne C et correspondant à la liste de la cellule DataBase!Z2 (Loyer, Charges, Parking).

  3. Transformer le tableau copié en tableau structuré et le nommer en fonction de l’onglet de la nouvelle feuille créée (TS_Loye; TS_Charges; TS_Parking).

  4. Si le libellé saisi en colonne C est inexistant dans la liste de base l’ajouter et le soumettre au même traitement qu’aux précédents libellés.

Le code se trouve dans le Module1. Je reste attentif à vos commentaires et vous remercie pour vos propositions et conseils fournis.
Cordialement, Jorge