Bonjour à tous,
Je débute sur VBA, et j'ai pu adapter une macro prise sur le site à mon classeur xls, mais voilà je bloque sur un problème.
J'arrive à recopie les lignes de tous mes onglets vers l'onglet 'main courante', jusqu'à là tout va bien.
Maintenant je voudrais recopier également la couleur et/ou la police de la ligne que j'aurai choisi au préalable vers la "main courante"
Je cherche désespérément depuis quelques jours, si quelqu'un peut m'aider.
Merci d'avance
Option Explicit
Private Sub CommandButton1_Click()
'Declaration des vaiables
Dim nomonglet(19) As String 'Declaration d'un tableau chaine de caractere de 7 dimensions (0->6)
Dim myworksheet_IN As Worksheet
Dim myworksheet_OUT As Worksheet
Dim tache1 As String 'Adresse ou se trouve le titre T‰che1
Dim mydate1 As String 'Adresse ou se trouve la date
Dim tempdate As String
Dim I, b, numline As Double
Dim ligne_debut_planning As String 'Adresse a partir de laquelle on doit ecrire les donnŽes dans onglets planning
'Definition des noms onglets et des postions des valeurs
nomonglet(0) = "9720101"
nomonglet(1) = "9720201"
nomonglet(2) = "9720401"
nomonglet(3) = "9720501"
nomonglet(4) = "9720801"
nomonglet(5) = "9720901"
nomonglet(6) = "9721101"
nomonglet(7) = "9721201"
nomonglet(8) = "9721301"
nomonglet(9) = "9721501"
nomonglet(10) = "9721701"
nomonglet(11) = "9721901"
nomonglet(12) = "9721902"
nomonglet(13) = "9722401"
nomonglet(14) = "9722801"
nomonglet(15) = "9722901"
nomonglet(16) = "9723001"
nomonglet(17) = "9723301"
nomonglet(18) = "9723401"
nomonglet(19) = "9723402"
'Dans ces onglets on dŽfinit les adresses o se trouve les valeurs que l'on veut recuperer
'Il faut que se soit le mme endroit pour tous les onglets
tache1 = "$C$2"
mydate1 = "$D$1"
ligne_debut_planning = "$a$4"
'On dŽfinit dans quel onglet on va mettre la synthese de planning
Set myworksheet_IN = ActiveWorkbook.Worksheets("Main courante")
'On efface les anciennes lignes du planning
myworksheet_IN.Range(ligne_debut_planning, "F65536").Clear
'On effectue une boucle afin de parcourir tout ces onglets et reporter les valeurs dans l'onglet Index
For I = LBound(nomonglet) To UBound(nomonglet) ' Pour tous les onlgets
Set myworksheet_OUT = ActiveWorkbook.Worksheets(nomonglet(I)) 'On ouvre l'onglets
b = 1
While myworksheet_OUT.Range(tache1).Offset(b, 0) <> "" 'Tant que la cellule est vide on boucle
tempdate = Format(myworksheet_OUT.Range(mydate1).Value, "")
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 0).Value = myworksheet_OUT.Range(tache1).Offset(b, 0).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 1).NumberFormat = ""
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 1).Value = Format(tempdate, "")
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 2).Value = myworksheet_OUT.Range(tache1).Offset(b, 1).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 2).NumberFormat = ""
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 3).Value = myworksheet_OUT.Range(tache1).Offset(b, 2).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 3).NumberFormat = ""
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 4).Value = myworksheet_OUT.Range(tache1).Offset(b, 3).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 4).NumberFormat = ""
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 5).Value = myworksheet_OUT.Range(tache1).Offset(b, 4).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 5).NumberFormat = "DD/MM/YYYY"
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 6).Value = myworksheet_OUT.Range(tache1).Offset(b, 5).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 6).NumberFormat = "DD/MM/YYYY"
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 7).Value = myworksheet_OUT.Range(tache1).Offset(b, 6).Value
myworksheet_IN.Range(ligne_debut_planning).Offset(numline, 7).NumberFormat = "DD/MM/YYYY"
numline = numline + 1
b = b + 1
Wend
Next
Range("A1:Z100").Select
Columns("C").WrapText = True
Rows("1:100").EntireRow.AutoFit
With Selection.Font
ActiveWindow.SmallScroll Down:=-1000
Range("A1:G1000").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A1").Select
ActiveWindow.zoom = 80
.Name = "Arial"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With Selection.Font
.Name = "Arial"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub