Conserver mise en forme copier coller VBA

  • Initiateur de la discussion Initiateur de la discussion leeo01
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

leeo01

XLDnaute Nouveau
Bonjour à tous, je viens vers vous car j'ai un problème de macro, me voila coincé.


J'ai une fonction qui permet de copier différents tableaux de différentes feuilles, pour tous les copiés dans une seule feuille. Attention certain de ces tableaux sont variables en terme de taille c’est donc pourquoi la conservation de la mise en forme bloque… En effet dans l’onglet “onduleur”, je peux rentrer un nombre qui pourra faire varier le nombre de ligne de cet onglet, ainsi que celle de l’onglet “tensions de chaînes”. J'aimerai donc modifier la macro pour copier tous ces tableaux en conservant cette mise en forme.

Je vous laisse mon fichier en PJ avec la macro dans le Module 4.

Si vous avez des questions ou si je n'ai pas été assez précis n'hésitez pas à m'envoyer un message.

Léo.
 

Pièces jointes

et en faisant un autofit à la fin ?

voir code (que je me suis permis de "simplifier")

VB:
Sub CreationDeLaListe()
Sheets("Feuil1").Cells.Clear 'on commence par effacer la feuille 1

With Sheets("Feuil1")
    Range("ma_liste1").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)

    dlig = Sheets("Onduleurs").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Onduleurs").Range("A1:L" & dlig).SpecialCells(xlCellTypeVisible).Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)

    ligf1 = Sheets("Onduleurs").Range("B" & Rows.Count).End(xlUp).Row - 1
    Sheets("Onduleurs").Range("B" & ligf1).Resize(2).Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)
  
    Range("ma_liste3").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    Range("ma_liste4").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    Range("ma_liste5").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
  
    dlig = Sheets("Tensions chaînes").Range("B" & Rows.Count).End(xlUp).Row
    Sheets("Tensions chaînes").Range("A1:L" & dlig).SpecialCells(xlCellTypeVisible).Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)

    Range("liste2").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    Range("liste3").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    Range("liste4").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    Range("liste5").Copy Destination:=.Range("A" & .Rows.Count).End(xlUp).Offset(2, 0)
    .Cells.EntireColumn.AutoFit 'autofit de toutes les colonnes
    .Columns(1).ColumnWidth = 20 'on force une taille 20 pour la colonne A
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
131
Retour