Modifier vba pour transfert en tableau structuré

Bonjour tout le forum,

dans le fichier ci-joint, je peux cliquer sur le bouton TRANSFERT pour transférer les données des cellules jaunes de l’onglet ENTREE vers l’onglet DETAILS.

Or, je souhaiterai avoir un TS sur l’onglet DETAILS au lieu d’un tableau simple afin de pouvoir par la suite faire des filtrages via un UserForm. Mais sans décaler le tableau en place. Donc la première cellule du TS devra toujours être la cellule B6
Malheureusement je n’arrive pas à modifier le code VBA pour réaliser un transfert vers un TS.

Pourriez-vous m’aider s’il vous plaît.

Je vous remercie d’avance.

Rubis57
Rubis57-transfert-vers-TS.xlsm (45,7 Ko)

voir PJ, c’est inutile de supprimer les zéros, vous pouvez les cacher via le “format”.

_ € * #.##0,000_ ;_ € * -#.##0,000_ ;

Rubis57-transfert-vers-TS.xlsm (41,0 Ko)

1 « J'aime »

Bonjour,

Merci pour le travail, cela me convient très bien. :+1:

Rubis57

1 « J'aime »

Bonjour Cow18,

hier je n’y ai plus pensé à cela.

comment je peux vider le tableau de l’onglet DETAILS sans supprimer les formules dans les deux dernières colonnes.
Rubis57-transfert-vers-TS.xlsm (41,4 Ko)

Merci d’avance pour le retour.

Rubis57

Bonjour,

En fait, elles ne sont pas supprimées. Elles réapparaissent quand tu ajoutes une ligne. Les formules sont définies au niveau de la colonne (ListColumn.DataBodyRange.Formula). Elles ne sont pas liées aux lignes.

Daniel

1 « J'aime »

oui, ces formules restent là, même si le TS est vide

Sub M_RAZ()
     With Range("Tbl_Details").ListObject    'votre TS
          If .ListRows.Count Then .DataBodyRange.Delete     's'il contient des lignes, supprimer le databodyrange
     End With
End Sub

Bonjour,

j’ai essayé avec ce code mais il m’efface les formules

Rubis57-transfert-vers-TS.xlsm (43,1 Ko)

voir PJ, la macro “transfert” est légèrement modifiée de manière que seulement les 12 premières cellules de la nouvelle ligne seront écrasées.

Rubis57-transfert-vers-TS (1).xlsm (41,5 Ko)

1 « J'aime »

Non Cow18, le code pour vider le TS sert à vider mon tableau tous les fins de mois. Donc elle doit être à part.

Essaie :

Sub M_RAZ()
     With Range("Tbl_Details").ListObject
      For i = .ListRows.Count To 1 Step -1
        .ListRows(i).Delete
      Next i
     End With
End Sub

Daniel

pourtant, ma réponse est correcte, L’erreur était dans la macro “transfert” qui écrasait aussi ces 2 cellules avec des formules … .

Bonjour Cow18,

je viens juste de voir cela. Parfait elle fonctionne très bien. :+1:
Merci encore et désolé.

A+
Rubis57

Message supprimé. Message erroné.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.