1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub CopierColonne()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Dim lastColumn As Long
Dim monthYear As String
' Définir les feuilles de calcul
Set ws1 = ThisWorkbook.Sheets("Feuil1")
Set ws2 = ThisWorkbook.Sheets("Feuil2")
' Obtenir le dernier numéro de ligne de la colonne C dans Feuil1
lastRow = ws1.Cells(ws1.Rows.Count, "C").End(xlUp).Row
' Obtenir le dernier numéro de colonne dans Feuil2
lastColumn = ws2.Cells(1, ws2.Columns.Count).End(xlToLeft).Column
' Obtenir le mois et l'année en cours
monthYear = Format(Date, "mmmm") & "_" & Format(Date, "yyyy")
' Copier les valeurs de la colonne C de Feuil1 vers Feuil2
ws1.Range("C2:C" & lastRow).Copy
' Coller les valeurs dans la première colonne vide de Feuil2 à partir de la ligne 2
ws2.Cells(2, lastColumn + 1).PasteSpecial Paste:=xlPasteValues
' Renommer l'entête de la nouvelle colonne dans Feuil2
ws2.Cells(1, lastColumn + 1).Value = "Catégorie_" & monthYear
' Centrer l'entête en hauteur et en largeur
ws2.Cells(1, lastColumn + 1).HorizontalAlignment = xlCenter
ws2.Cells(1, lastColumn + 1).VerticalAlignment = xlCenter
' Ajuster la largeur de colonne à la largeur de l'entête
ws2.Columns(lastColumn + 1).AutoFit
End Sub |