Recopier la mise en forme suite recopie à partir d'un tableau dynamique

sasjm37

XLDnaute Junior
Bonjour à tous,
J'ai réalisé une petite macro (sans prétention) qui copie des cellules d'une feuille dans un tableau dynamique Tab1() et les restitue dans une autre feuille.
Je désire conserver la mise en forme dans la feuille de destination :
- Lien (voir Feuil1 et Feuil2 Cellule T6)
- Partie souligné + Gras et autre partie en couleur (voir Feuil1 et Feuil2 Cellule E6)
- Pourcentage (voir Feuil1 et Feuil2 Cellule N6)
- Format date (voir Feuil1 et Feuil2 Cellule L6)
, mais là je sèche gravement.

Le bouton RAZ initialize la feuille 2
Le bouton M A J lance la recopie.

Merci d'avance
 

Pièces jointes

  • Test_mise_en_forme_par_tableau_dynamique.xlsm
    22.7 KB · Affichages: 11
Dernière édition:

sasjm37

XLDnaute Junior
Bonjour,
S'il s'agit de faire une copie identique des données d'une feuille à l'autre, ceci est suffisant.
VB:
Sub Mise_a_jour()
    Sheets("Feuil2").Cells.Clear
    Sheets("Feuil1").Cells.Copy Sheets("Feuil2").[a1]
End Sub
Bonjour Jacky67
Bien sur les solutions les plus simples sont toujours les meilleures, mais j'ai simplifié mon exemple à l’extrême.
En réalité j'ai plusieurs feuilles à récupérer et plusieurs feuilles de destination (1 pour Pierre,1 pour Paul...).
Voilà pourquoi j'utilise les tableaux dynamiques.
Merci quand même d'avoir répondu à mon message.
Cordialement
 

Jacky67

XLDnaute Barbatruc
Bonjour Jacky67
Bien sur les solutions les plus simples sont toujours les meilleures, mais j'ai simplifié mon exemple à l’extrême.
En réalité j'ai plusieurs feuilles à récupérer et plusieurs feuilles de destination (1 pour Pierre,1 pour Paul...).
Voilà pourquoi j'utilise les tableaux dynamiques.
Merci quand même d'avoir répondu à mon message.
Cordialement
Re..
Pas certain d'avoir compris…...,
Une piste
En modifiant cette partie du code la feuille garde la mise en forme
VB:
'.........…………..
  k = 6
    For j = 1 To UBound(Tab1)
        If Tab1(j, 1) <> "" Then
            Sheets("Feuil1").Rows(k).Copy Sheets("Feuil2").Cells(k, 1)
        End If
        k = k + 1
    Next
'....................
 

sasjm37

XLDnaute Junior
Re..
Pas certain d'avoir compris…...,
Une piste
En modifiant cette partie du code la feuille garde la mise en forme
VB:
'.........…………..
  k = 6
    For j = 1 To UBound(Tab1)
        If Tab1(j, 1) <> "" Then
            Sheets("Feuil1").Rows(k).Copy Sheets("Feuil2").Cells(k, 1)
        End If
        k = k + 1
    Next
'....................

Bonjour Jacky67,
Merci pour cette solution simple et efficace.
J'ai eu un peu de mal à la mettre en œuvre mais j'y suis finalement arrivé.
Merci encore.
Cordialement
 

Discussions similaires