Macro: mise en forme tableau X dans Y avec memes valeurs
Bonjour,
Je souhaite copier le tableau tel qu'il est dans un autre excel sans perdre ses couleurs, formules ou autres.
Voici en pièce jointe le fichier modifié. Il s'agit d'une partie des données, il est fait de plusieurs centaine de millier de lignes en réalité.
D'avance merci pour votre aide.
Changul
Bonjour
• Sélectionner la cellule A1 et maintenez enfoncée la touche Majuscule (Shift)
• Cliquer dans le bandeau sur "Rechercher et sélectionner"
• Cliquer sur "Atteindre"
• Cliquer sur "Denière cellule"
• Cliquer sur "OK"
• Copier la plage qui s’est sélectionnée
• Aller la recopier n’importe où pourvu qu’elle ait assez de place : autre feuille, autre fichier…
Ok ?
Bye !
Bonjour,
Je pense que je me suis mal exprimé désolé...
@gmb, L'exemple que tu me donnes je sais le faire, merci.
Mais, je souhaite savoir si qq'1 sait comment compléter, à la suite de la macro ci-dessous, afin de garder toutes les valeurs telles que dates, couleurs etc...
Mon problème:
la copie dans un autre fichier existant fonctionne très bien. Mais les dates copiées sont en nombre, les couleurs non prise en charges, le centrage ne fonctionne pas, le % transformé en nombre etc...
Je vous joins les 2 fichiers pour mieux comprendre (ils sont modifiés car il s'agit des tableaux du boulot)
PS: Je ne connais rien en VBA, je l'ai appris sur le tas... soyez un peu indulgent SVP. Merci
Par avance je vous remercie de votre aide.
==========================
Sub TEST1()
'
' TEST1 Macro
'
'
Application.WindowState = xlMinimized
Application.WindowState = xlNormal
Sheets("Template").Select
Range("A2").Select
ActiveWindow.LargeScroll ToRight:=8
Range("A2:DL12").Select
Selection.Copy
Cells.Select
Workbooks.Open Filename:="C:\ABCDR\SERVERS List.xlsx"
Sheets("May-2017").Select
'Range("A1").Select
'Rows("80066:80066").Select
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If UseMyFormatPainter Then
Selection.PasteSpecial xlPasteFormats
UseMyFormatPainter = False
Application.CutCopyMode = 0 ' turns "off" the dotted border around the copied cell
End If
ActiveWindow.LargeScroll ToRight:=4
ActiveWindow.ScrollColumn = 38
ActiveWindow.ScrollColumn = 39
ActiveWindow.ScrollColumn = 40
ActiveWindow.ScrollColumn = 42
ActiveWindow.ScrollColumn = 43
ActiveWindow.ScrollColumn = 47
ActiveWindow.ScrollColumn = 48
ActiveWindow.ScrollColumn = 51
ActiveWindow.ScrollColumn = 53
ActiveWindow.ScrollColumn = 54
ActiveWindow.ScrollColumn = 55
ActiveWindow.ScrollColumn = 59
ActiveWindow.ScrollColumn = 60
ActiveWindow.ScrollColumn = 61
ActiveWindow.ScrollColumn = 63
ActiveWindow.ScrollColumn = 66
ActiveWindow.ScrollColumn = 67
ActiveWindow.ScrollColumn = 68
ActiveWindow.ScrollColumn = 71
ActiveWindow.ScrollColumn = 73
ActiveWindow.ScrollColumn = 74
ActiveWindow.ScrollColumn = 75
ActiveWindow.ScrollColumn = 76
ActiveWindow.ScrollColumn = 77
ActiveWindow.ScrollColumn = 78
ActiveWindow.ScrollColumn = 79
ActiveWindow.ScrollColumn = 80
ActiveWindow.ScrollColumn = 81
ActiveWindow.ScrollColumn = 83
ActiveWindow.ScrollColumn = 84
ActiveWindow.ScrollColumn = 88
ActiveWindow.ScrollColumn = 89
ActiveWindow.ScrollColumn = 90
ActiveWindow.ScrollColumn = 91
ActiveWindow.ScrollColumn = 92
ActiveWindow.ScrollColumn = 93
ActiveWindow.ScrollColumn = 94
ActiveWindow.ScrollColumn = 95
ActiveWindow.ScrollColumn = 96
ActiveWindow.ScrollColumn = 97
ActiveWindow.ScrollColumn = 98
ActiveWindow.ScrollColumn = 99
ActiveWindow.ScrollColumn = 100
ActiveWindow.ScrollColumn = 101
ActiveWindow.ScrollColumn = 102
ActiveWindow.ScrollColumn = 103
ActiveWindow.ScrollColumn = 104
ActiveWindow.ScrollColumn = 105
ActiveWindow.ScrollColumn = 106
ActiveWindow.ScrollColumn = 107
ActiveWindow.ScrollColumn = 108
ActiveWindow.ScrollColumn = 109
ActiveWindow.ScrollColumn = 110
ActiveWindow.ScrollColumn = 109
ActiveWindow.ScrollColumn = 108
ActiveWindow.ScrollColumn = 106
ActiveWindow.ScrollColumn = 104
ActiveWindow.ScrollColumn = 103
ActiveWindow.ScrollColumn = 102
ActiveWindow.ScrollColumn = 100
ActiveWindow.ScrollColumn = 97
ActiveWindow.ScrollColumn = 91
ActiveWindow.ScrollColumn = 83
ActiveWindow.ScrollColumn = 82
ActiveWindow.ScrollColumn = 81
ActiveWindow.ScrollColumn = 78
ActiveWindow.ScrollColumn = 76
ActiveWindow.ScrollColumn = 73
ActiveWindow.ScrollColumn = 72
ActiveWindow.ScrollColumn = 69
ActiveWindow.ScrollColumn = 68
ActiveWindow.ScrollColumn = 66
ActiveWindow.ScrollColumn = 65
ActiveWindow.ScrollColumn = 64
ActiveWindow.ScrollColumn = 63
ActiveWindow.ScrollColumn = 62
ActiveWindow.ScrollColumn = 61
ActiveWindow.ScrollColumn = 60
ActiveWindow.ScrollColumn = 59
ActiveWindow.ScrollColumn = 58
ActiveWindow.ScrollColumn = 57
ActiveWindow.ScrollColumn = 58
ActiveWindow.ScrollColumn = 59
ActiveWindow.ScrollColumn = 60
ActiveWindow.ScrollColumn = 61
ActiveWindow.ScrollColumn = 62
ActiveWindow.ScrollColumn = 63
ActiveWindow.ScrollColumn = 64
ActiveWindow.ScrollColumn = 65
ActiveWindow.ScrollColumn = 66
ActiveWindow.ScrollColumn = 67
ActiveWindow.ScrollColumn = 68
ActiveWindow.ScrollColumn = 69
ActiveWindow.ScrollColumn = 68
ActiveWindow.ScrollColumn = 67
ActiveWindow.ScrollColumn = 64
ActiveWindow.ScrollColumn = 62
ActiveWindow.ScrollColumn = 58
ActiveWindow.ScrollColumn = 56
ActiveWindow.ScrollColumn = 51
ActiveWindow.ScrollColumn = 49
ActiveWindow.ScrollColumn = 44
ActiveWindow.ScrollColumn = 40
ActiveWindow.ScrollColumn = 35
ActiveWindow.ScrollColumn = 33
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.SmallScroll Down:=7
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("Template.xlsm").Activate
End Sub
Bonjour Gmb,
Ta Macro est une tuerie !!
Merci beaucoup
Cependant, je souhaite ne pas ouvrir le fichier "destinataire=SERVERS List.xlxs" , j'ai enlevé le cote (en vert ci-dessous) cela plante la macro.... :'(
Car le vrai fichier fait plus de 9Mo. Pour info, quand j'ouvre en même temps, la macro et ce gros fichier, le process excel plante ... Est-ce normal ?
Je te remercie pour ta bienveillance
changul
Sub CopieListeServeurs()
Bonjour
Ça, je ne sais pas faire.changul a écrit :je souhaite ne pas ouvrir le fichier "destinataire=SERVERS List.xlxs"
En revanche, je sais comment faire pour que la macro ouvre le fichier, fasse son travail et le referme, ce qui revient presque au même puisque l’utilisateur ne voit rien.
Mais il faut être sûr de l’adresse du fichier en question : j’ai pris celle que j’ai trouvé dans ta macro initiale.
A tester.
Bye !
Re,
ça marche !
Je te remercie infiniment...pour tes aides précieuses.
A bientôt pour de nouvelles challenges ...
changul