misteryann
XLDnaute Occasionnel
Bonsoir le Forum.
Je cherchais depuis un moment comment "griser" une ligne sur deux dans un tableau comportant 8 colonnes et x lignes (de 1 à 500 - 600). Mais rien...
Puis je me suis rappeler que l'on pouvait utiliser l'enregistreur de macro.
Les pros du VBA ne s'y tromperont pas et feront plus simple mais si cela peut aider les novices comme moi, tant mieux.
Après quelques tâtonnements et recherche sur l'internet pour connaître la dernière ligne vide ça donne cela :
Sub Macro9()
' en C1 j'ai mis la formule =MAX(SI(NON(ESTVIDE(A1:A1009));LIGNE(A1:A1009))) sous forme matricielle (validation par ctrl +maj+entrée)
Dim DerniereLigne As Integer
DerniereLigne = Range("G" & Sheets("Edition").Cells(1, 3)).End(xlUp).Row
Columns("A:H").Select
'centrage des cellules
With Selection
.HorizontalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Sheets("Edition").Activate
Range("A7:H" & Sheets("Edition").Cells(1, 3)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:H" & Sheets("Edition").Cells(1, 3)), , xlYes).Name = "Tableau12"
Range("Tableau12[#All]").Select
ActiveSheet.ListObjects("Tableau12").TableStyle = "TableStyleLight1"
' dimensionnement des cellules
Columns("A:A").ColumnWidth = 30
Columns("C:C").ColumnWidth = 17
Columns("E:E").ColumnWidth = 26
Columns("D").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
End Sub
Mais pour tout avouer, je suis trop content d'avoir "créer" mon premier code en VBA
Par ailleurs si quelqu'un pouvait se pencher sur mon post sur le diagramme de GANT...
Bien cordialement.
Misteryann
Je cherchais depuis un moment comment "griser" une ligne sur deux dans un tableau comportant 8 colonnes et x lignes (de 1 à 500 - 600). Mais rien...
Puis je me suis rappeler que l'on pouvait utiliser l'enregistreur de macro.
Les pros du VBA ne s'y tromperont pas et feront plus simple mais si cela peut aider les novices comme moi, tant mieux.
Après quelques tâtonnements et recherche sur l'internet pour connaître la dernière ligne vide ça donne cela :
Sub Macro9()
' en C1 j'ai mis la formule =MAX(SI(NON(ESTVIDE(A1:A1009));LIGNE(A1:A1009))) sous forme matricielle (validation par ctrl +maj+entrée)
Dim DerniereLigne As Integer
DerniereLigne = Range("G" & Sheets("Edition").Cells(1, 3)).End(xlUp).Row
Columns("A:H").Select
'centrage des cellules
With Selection
.HorizontalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Sheets("Edition").Activate
Range("A7:H" & Sheets("Edition").Cells(1, 3)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:H" & Sheets("Edition").Cells(1, 3)), , xlYes).Name = "Tableau12"
Range("Tableau12[#All]").Select
ActiveSheet.ListObjects("Tableau12").TableStyle = "TableStyleLight1"
' dimensionnement des cellules
Columns("A:A").ColumnWidth = 30
Columns("C:C").ColumnWidth = 17
Columns("E:E").ColumnWidth = 26
Columns("D").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
End Sub
Mais pour tout avouer, je suis trop content d'avoir "créer" mon premier code en VBA
Par ailleurs si quelqu'un pouvait se pencher sur mon post sur le diagramme de GANT...
Bien cordialement.
Misteryann
Dernière édition: