vba format de cellule n° de semaine

asta29

XLDnaute Nouveau
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.:(
 

Catrice

XLDnaute Barbatruc
Re : vba format de cellule n° de semaine

Bonjour,

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
 

Pièces jointes

  • Classeur1.xls
    24.5 KB · Affichages: 90
  • Classeur1.xls
    24.5 KB · Affichages: 98
  • Classeur1.xls
    24.5 KB · Affichages: 100
Dernière édition:

greguVB

XLDnaute Nouveau
Re : vba format de cellule n° de semaine

bonjour Catrice,

merci
bon evidemment il fallait chamngé le 'Now()' par la valeur de la cellule, je mets donc la procedure, pour facilité Asta29 :p

Code:
Sub test()
Dim madate As Date
madate = Range("A1").value
Range("B1").value = DatePart("ww", madate)
End Sub

y a plus qu'a rajouter une boucle et hop !

ouaaa mon 2 eme message sur le forum, et beh !! :p
 

pierrejean

XLDnaute Barbatruc
Re : vba format de cellule n° de semaine

Bonjour a tous

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
 

Statistiques des forums

Discussions
312 310
Messages
2 087 115
Membres
103 477
dernier inscrit
emerica