Limbouille
XLDnaute Nouveau
Bonjour à tous,
J'ai réalisé un tableau pour la réservation de terrain pour mon club.
Le tableau comprend 2 semaines.
Ci-joint, un screen :

Comme vous le voyez, j'ai le numéro de semaine, les dates pour chaque jour etc.
J'ai fait une macro qui me demande à son lancement la première date du tableau, celle correspondant au lundi.
Ensuite la macro se charge de remplir les autres cellules en fonction de la première date.
J'applique un format de cellule aux dates.
Cependant, une fois la macro finie, il faut que j’édite la cellule E5, celle qui est généré par l'input puis que je la valide (avec entrer) pour que toutes les cellules prennent en compte leurs formats.
Si je ne fais pas cela, par exemple : la cellule B6 m'affiche "15 mai" au lieu de "15/05/12". Il me copie en fait ce que j'ai entré à l'aide du clavier. Et pour les autres cellules, le formatage n'est pas pris en compte (le texte n'est pas centré horizontalement
Pourquoi?
Voici le code : (il n'est pas parfait, une partie générée avec le record et l'autre par moi)
Merci pour votre aide
J'ai réalisé un tableau pour la réservation de terrain pour mon club.
Le tableau comprend 2 semaines.
Ci-joint, un screen :

Comme vous le voyez, j'ai le numéro de semaine, les dates pour chaque jour etc.
J'ai fait une macro qui me demande à son lancement la première date du tableau, celle correspondant au lundi.
Ensuite la macro se charge de remplir les autres cellules en fonction de la première date.
J'applique un format de cellule aux dates.
Cependant, une fois la macro finie, il faut que j’édite la cellule E5, celle qui est généré par l'input puis que je la valide (avec entrer) pour que toutes les cellules prennent en compte leurs formats.
Si je ne fais pas cela, par exemple : la cellule B6 m'affiche "15 mai" au lieu de "15/05/12". Il me copie en fait ce que j'ai entré à l'aide du clavier. Et pour les autres cellules, le formatage n'est pas pris en compte (le texte n'est pas centré horizontalement
Pourquoi?
Voici le code : (il n'est pas parfait, une partie générée avec le record et l'autre par moi)
Code:
Sub Insert_Date()
'
' Insert_Date Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
SelectDate = InputBox("Entrez le jour de début (jj mmm)")
' Tableau 1
Range("E5").Select
ActiveCell.FormulaR1C1 = SelectDate
Format
Range("H5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("K5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("N5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("Q5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("T5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("W5").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("B5").Select
ActiveCell.FormulaR1C1 = "=WEEKNUM(R[0]C[3],2)-1"
Format3
Range("B6").Select
ActiveCell.FormulaR1C1 = "=R[-1]C[+3]"
Format2
Range("B7").Select
ActiveCell.FormulaR1C1 = "=R[-2]C[+21]"
Format2
' Tableau 2
Range("E37").Select
ActiveCell.FormulaR1C1 = "=R[-32]C[0]+7"
Format
Range("H37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("K37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("N37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("Q37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("T37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("W37").Select
ActiveCell.FormulaR1C1 = "=R[0]C[-3]+1"
Format
Range("B37").Select
ActiveCell.FormulaR1C1 = "=WEEKNUM(R[0]C[3],2)-1"
Format3
Range("B38").Select
ActiveCell.FormulaR1C1 = "=R[-1]C[+3]"
Format2
Range("B39").Select
ActiveCell.FormulaR1C1 = "=R[-2]C[+21]"
Format2
End Sub
Sub Format()
'
' Formatage des cellules
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.NumberFormat = "dd mmm"
End With
End Sub
Sub Format2()
'
' Formatage des cellules
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.NumberFormat = "dd/mm/yy"
End With
End Sub
Sub Format3()
'
' Formatage des cellules
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub
Merci pour votre aide