VBA : Comment convertir la date en numéro de semaine



Vous pouvez utiliser la syntaxe de base suivante dans VBA pour convertir une date en numéro de semaine :

Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range("B" & i) = WorksheetFunction.WeekNum(Range("A" & i))
    Next i
    
End Sub

Cet exemple particulier trouvera le numéro de semaine pour chaque date dans la plage A2:A9 et affichera les résultats dans la plage B2:B9 .

Notez que la méthode VBA WeekNum suppose que les semaines commencent le dimanche.

Pour spécifier un autre jour comme début de la semaine, vous pouvez ajouter un deuxième argument à la méthode WeekNum :

Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range("B" & i) = WorksheetFunction.WeekNum(Range("A" & i), vbMonday)
    Next i
    
End Sub

L’exemple suivant montre comment utiliser la méthode WeekNum pour convertir des dates en numéros de semaine dans la pratique.

Exemple : convertir la date en numéro de semaine dans VBA

Supposons que nous ayons la colonne de dates suivante dans Excel :

Supposons que nous souhaitions convertir chaque date en numéro de semaine et afficher le numéro de semaine dans la colonne B.

Nous pouvons créer la macro suivante pour ce faire :

Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range("B" & i) = WorksheetFunction.WeekNum(Range("A" & i))
    Next i
    
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

VBA convertir la date en numéro de semaine

La colonne B affiche le numéro de semaine pour chaque date dans la colonne A, en supposant que les semaines commencent le dimanche.

Si vous souhaitez spécifier un autre jour comme début de la semaine, par exemple lundi, vous pouvez utiliser la syntaxe suivante :

Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range("B" & i) = WorksheetFunction.WeekNum(Range("A" & i), vbMonday)
    Next i
    
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La colonne B affiche désormais le numéro de semaine pour chaque date dans la colonne B, en supposant que les semaines commencent le lundi.

Remarque : Vous pouvez trouver la documentation complète de la méthode VBA WeekNum ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment comparer les dates dans VBA
Comment convertir une chaîne en date dans VBA
Comment calculer les jours entre deux dates en VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *