Macro avec format de cellule

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 :
Capture.jpg

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
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    105.2 KB · Affichages: 782
  • Capture.jpg
    Capture.jpg
    105.2 KB · Affichages: 725

Frakamout

XLDnaute Nouveau
Re : Macro avec format de cellule

Salut Limbouille,

D'après ce que j'ai compris, tu as des cellules du style 15 mai, alors que tu veux 15/05/12, c'est ça?

Si c'est la cas, remplace

SelectDate = InputBox("Entrez le jour de début (jj mmm)")

par

SelectDate = InputBox("Entrez le jour de début (jj/mm/aaaa)")

Je suis également novice mais je pense que cela devrait le faire...
 

Limbouille

XLDnaute Nouveau
Re : Macro avec format de cellule

@Frakamout, j'avais déjà essayé, mais apres c'est une autre cellule qui ne s'affichait pas correment

@herve62, parfais :D merci beaucoup ^^

Par contre c'est bizarre, dès que je lance la macro, les valeurs des cellules changent instantanément, mais ensuite, la macro clique sur chaque cellule l'une après l'autre alors que les valeurs sont déjà changées.
Mais bon, ca fonctionne :)

Merci pour votre aide
 

Statistiques des forums

Discussions
312 242
Messages
2 086 536
Membres
103 244
dernier inscrit
lavitzdecreu