Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

N° de semaine

6 réponses
Avatar
oliver
Bonjour,
je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne (ex:F)
mettre une fonction "N° de semaine" et faire un "Selection.AutoFill" par
VBA?
Merci

6 réponses

Avatar
Daniel.C
Bonjour.
tout dépend de la formule que tu utilises pour ton numéro de semaine.
Essaie :

Dim c As Range
For Each c In Range([D1], [D65000].End(xlUp))
c.Offset(, 2) = Application.WeekNum(c)
Next c

Cordialement.
Daniel

Bonjour,
je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne (ex:F)
mettre une fonction "N° de semaine" et faire un "Selection.AutoFill" par VBA?
Merci


Avatar
Hervé
Bonjour oliver,

Avec la fonction VBA de Laurent Longre
(http://xcell05.free.fr/pages/form/dateheure.htm#Numsemaine) :

Sub test()
MsgBox NOSEM(#2/22/2009#)
End Sub

Function NOSEM(D As Date) As Long
D = Int(D)
NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) 7 + 1
End Function

ou la fonction version Excel (du même auteur) :
=ENT((A1-SOMME(MOD(DATE(ANNEE(A1-MOD(A1-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)

Hervé.


"oliver" a écrit dans le message de
news:%
Bonjour,
je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne
(ex:F) mettre une fonction "N° de semaine" et faire un
"Selection.AutoFill" par VBA?
Merci



Avatar
Daniel.C
Oups, je n'ai pas mis de formule.
Daniel

Bonjour,
je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne (ex:F)
mettre une fonction "N° de semaine" et faire un "Selection.AutoFill" par VBA?
Merci


Avatar
Caetera
>je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne (ex:F)
mettre une fonction "N° de semaine" et faire un "Selection.AutoFill" par VBA?



Si les dates sont en D2:Dn, pour écrire le numéro de semaine correspondant en
F2:Fn de la feuille "Feuil1"
L'AutoFill n'est pas utile

Sub plageNumSem()
Dim derL As Long
derL = [D65536].End(3).Row
With Sheets("Feuil1").Range("F2:F" & derL)
.Value =
"=1+INT(MIN(MOD(D2-DATE(YEAR(D2)+{-1;0;1},1,5)+WEEKDAY(DATE(YEAR(D2)+{-1;0;1},1,3)),734))/7)"
.Value = .Value
End With
End Sub

Etc
Avatar
Garage YaKa
Bonjour,

Function NoSemaine(MyDate As Date) As Integer ' Week Of Year
NoSemaine = Format(MyDate, "ww", vbMonday, vbFirstFourDays)
If NoSemaine > 52 Then
If Format(MyDate + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then
NoSemaine = 1
End If
End Function
'http://support.microsoft.com/default.aspx?scid=kb;fr;200299

JB
http://boisgontierjacques.free.fr

On 22 fév, 08:38, "oliver" wrote:
Bonjour,
je charges des données externes dans une feuille avec un nombre de lign es
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne ( ex:F)
mettre une fonction "N° de semaine" et faire un "Selection.AutoFill" pa r
VBA?
    Merci


Avatar
Daniel.C
Dim c As Range
[F1].FormulaR1C1 = "=WEEKNUM((RC[-2]))"
[F1].AutoFill Range([D1], [D65000].End(xlUp)).Offset(, 2)
Daniel

Oups, je n'ai pas mis de formule.
Daniel

Bonjour,
je charges des données externes dans une feuille avec un nombre de lignes
aléatoire. Dans la colonne D, j'ai des dates, comment dans la colonne
(ex:F) mettre une fonction "N° de semaine" et faire un "Selection.AutoFill"
par VBA?
Merci