Bonjour,
J'aimerai pouvoir convertir en VBA une colonne entières en format n°semaine.
Comme la fonction "=NO.SEMAINE" mais je ne trouve pas comment mettre ce format en vba. Merci d'avance.
Peut etre peux tu t'inspirer du code suivant :
Sub test()
For Each X In Range("A1:" & Range("A65536").End(xlUp).Address)
X.Offset(0, 1) = DateDiff("ww", DateSerial(Year(X), 1, 1), X) + 1
Next
End Sub
voir fichier joint
Edit : Bonjour greguVB, Datepart, c'est boucoup mieux
Voilà la macro qui remplace toutes les dates de la colonne A par leur N° de semaine :
Sub test()
For Each X In Range("A1:" & Range("A65536").End(xlUp).Address)
X.Value = DatePart("ww", X)
X.NumberFormat = "General"
Next
End Sub
Voici une version qui
1) debute la semaine le lundi
2) conserve la date c'est a dire que si , apres execution de la macro , on applique a la colonne le format personnalisé jj/mm/aaaa on retrouvera la date
Code:
For n = 1 To Range("A65536").End(xlUp).Row
Range("A" & n).NumberFormat = DatePart("ww", Range("A" & n), 2)
Next n