Comment générer une date aléatoire de jour de semaine ou de week-end dans Excel ?
Ce tutoriel explique comment générer uniquement des jours de semaine aléatoires ou uniquement des dates de week-end aléatoires dans Excel. Suivez les étapes ci-dessous pour plus de détails.
Générer uniquement des jours de semaine aléatoires dans Excel
Générer uniquement des jours de semaine aléatoires dans Excel
Dans Excel, deux méthodes peuvent vous aider à randomiser uniquement les jours de semaine dans une plage de dates selon vos besoins.
Méthode 1 : Générer un jour de semaine aléatoire avec une formule
Sélectionnez une cellule et tapez cette formule =DATE(2014; 1; 1)+GRANDE.VALEUR(SI(JOURSEM(DATE(2014; 1; 1)+LIGNE($1:$365)-1; 2)<6; LIGNE($1:$365)-1; ""); ALEA.ENTRE.BORNES(1; SOMME(--(JOURSEM(DATE(2014; 1; 1)+LIGNE($1:$365)-1; 2)<6)))), puis appuyez sur Maj + Ctrl + Entrée simultanément, puis faites glisser la poignée de recopie vers une plage où vous souhaitez générer des jours de semaine. Voir capture d'écran :
Astuce :
1. Si vous souhaitez générer des jours de semaine aléatoires uniques, vous pouvez utiliser cette formule =DATE(2014; 1; 1)+(GRANDE.VALEUR(SI(JOURSEM((DATE(2014; 1; 1)+LIGNE($1:$365)-1)*((NB.SI($A$1:A1; DATE(2014; 1; 1)+LIGNE($1:$365)-1))=0); 2)<6; LIGNE($1:$365)-1; ""); ALEA.ENTRE.BORNES(1; SOMME(--(JOURSEM((DATE(2014; 1; 1)+LIGNE($1:$365)-1)*((NB.SI($A$1:A1; DATE(2014; 1; 1)+LIGNE($1:$365)-1))=0); 2)<6))))) et n'oubliez pas d'appuyer sur Maj + Ctrl + Entrée.
2. Dans les formules ci-dessus, 2014,1,1 est la date de début de votre plage de dates requise, 365 est le nombre de jours dans votre plage de dates, vous pouvez les modifier selon vos besoins.
3. Vous ne pouvez pas placer la formule générant des jours de semaine aléatoires uniques en A1.
Méthode 2 : Générer un jour de semaine aléatoire dans une année avec VBA
Si vous souhaitez randomiser les jours de semaine dans une année et que vous êtes familier avec VBA, vous pouvez procéder comme suit :
1. Appuyez sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code VBA ci-dessous dans la fenêtre qui s'affiche.
VBA : Randomiser les jours de semaine dans une année.
Dim RandomizedYet As Boolean
'Updateby20150108
Function RandomizeDates(pYear As Long)
Dim i As Long
Dim DaysInYear As Long
Dim xIndex As Long
Dim RndIndex As Long
Dim Temp As Date
Dim Weekdays() As Variant
If Not RandomizedYet Then
RandomizedYet = True
Randomize
End If
DaysInYear = DateSerial(pYear + 1, 1, 1) - DateSerial(pYear, 1, 1)
ReDim Weekdays(1 To DaysInYear)
For i = 1 To DaysInYear
If Weekday(DateSerial(pYear, 1, i), vbMonday) < 6 Then
xIndex = xIndex + 1
Weekdays(xIndex) = DateSerial(pYear, 1, i)
End If
Next
ReDim Preserve Weekdays(1 To xIndex)
For i = xIndex To 1 Step - 1
RndIndex = Int(i * Rnd + 1)
Temp = Weekdays(RndIndex)
Weekdays(RndIndex) = Weekdays(i)
Weekdays(i) = Temp
Next
RandomizeDates = Application.WorksheetFunction.Transpose(Weekdays)
End Function
3. Enregistrez le code et fermez la fenêtre pour revenir à votre feuille de calcul, puis tapez cette formule=RandomizeDates(2014) dans une cellule, puis appuyez sur Entrée et faites glisser la poignée de recopie vers une plage dont vous avez besoin. Voir capture d'écran :
Générer uniquement des jours de semaine aléatoires ou uniquement des week-ends aléatoires avec Kutools pour Excel
Après avoir installé gratuitement Kutools pour Excel, veuillez procéder comme suit :
1. Sélectionnez une plage où vous souhaitez générer des jours de semaine ou des dates de week-end, puis cliquez sur Kutools > Insérer des données aléatoires. Voir capture d'écran :
2. Dans la Insérer des données aléatoires boîte de dialogue, cliquez sur Date onglet, puis bouton calendrier pour sélectionner une date de début et une date de fin souhaitées, puis cochez l'option Jour ouvrable ou Week-end dont vous avez besoin. Si vous souhaitez générer une date unique, vous pouvez cocher l'option Unique . Voir capture d'écran :
3. Cliquez sur Ok pour appliquer et fermer la boîte de dialogue, puis dans la sélection, les dates de week-end uniques sont générées.
Astuce : Si vous êtes autorisé à insérer des doublons, décochez simplement Valeurs uniques dans la boîte de dialogue.
Avec la fonction Insérer des données aléatoires, vous pouvez également randomiser des entiers, des heures, des chaînes de caractères et des listes personnalisées. Cliquez ici pour plus d'informations.
Articles connexes
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!