Comment générer une date aléatoire tombant un jour de semaine ou un week-end dans Excel ?
Ce tutoriel vous explique comment générer des dates aléatoires exclusivement en jours de semaine ou uniquement en week-ends dans Excel. Suivez les étapes ci-dessous pour en savoir plus.
Générer uniquement des dates aléatoires en jour de semaine dans Excel
Générer uniquement des dates aléatoires en jour de semaine dans Excel
Dans Excel, deux méthodes vous permettent de générer aléatoirement uniquement des jours de semaine au sein d’une plage de dates, selon vos besoins.
Méthode 1 : générer des jours de semaine aléatoires à l’aide d’une formule
Sélectionnez une cellule et saisissez 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 simultanément sur Maj + Ctrl + Entrée et faites glisser la poignée de recopie vers la plage où vous souhaitez générer des jours de semaine. Voir la capture d’écran :
Astuce :
1. Si vous souhaitez générer des jours de semaine aléatoires uniques, utilisez 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))))), puis n’oubliez pas d’appuyer sur Maj + Ctrl + Entrée.
2. Dans les formules ci-dessus, 2014,1,1 correspond à la date de début de votre plage de dates souhaitée, et 365 représente le nombre de jours dans cette plage ; vous pouvez les adapter selon vos besoins.
3. Vous ne pouvez pas saisir dans la cellule A1 la formule générant des jours de semaine aléatoires uniques.
Méthode 2 : générer des jours de semaine aléatoires sur une année à l’aide de VBA
Si vous souhaitez générer aléatoirement des jours de semaine sur une année et que vous maîtrisez VBA, procédez comme suit :
1. Appuyez sur les touches 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’ouvre.
VBA : Générer aléatoirement des jours de la semaine sur 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 cette fenêtre pour revenir à votre feuille de calcul, puis saisissez la formule suivante dans une cellule : =RandomizeDates(2014). Appuyez sur la touche Entrée, puis faites glisser la poignée de recopie vers la plage souhaitée. Voir la capture d’écran :
Générer uniquement des jours de semaine aléatoires ou uniquement des week-ends avec Kutools pour Excel
Après avoir installé gratuitementKutools pour Excel, procédez comme suit :
1. Sélectionnez la plage dans laquelle 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 la capture d’écran :
2. Dans la boîte de dialogue Insérer des données aléatoires, cliquez sur l’onglet Date, puis utilisez le bouton calendrier pour sélectionner les dates de début et de fin souhaitées. Cochez ensuite l’option Jour ouvré ou Week-end selon vos besoins. Pour générer des dates uniques, cochez l’option Unique. Voir la capture d’écran :
3. Cliquez sur OK pour appliquer et fermer la boîte de dialogue. Les dates de week-end uniques sont alors générées dans la sélection.
Astuce : Si les doublons sont autorisés, il suffit de décocher l’option Valeurs uniques dans la boîte de dialogue.
Grâce à la fonction Insérer des données aléatoires, vous pouvez également générer aléatoirement des entiers, des heures, des chaînes de caractères et Listes personnalisées.Cliquez ici pour plus d’informations.
Articles associés
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition 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, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels