Microsoft 365 Déterminer la date d'un prochain jour

ivan27

XLDnaute Occasionnel
Bonjour à tous,

Un partenaire me remet un tableau en désignant en colonne D, un jour de semaine, en anglais.
Je souhaite une formule ou un code VBA de préférence, pour indiquer en colonne ''J'' la date du prochain jour indiqué en colonne ''D''.
Merci d'avance pour votre aide.
Bien cordialement,
Ivan
 

Pièces jointes

  • Date.xlsx
    10.3 KB · Affichages: 9
C

Compte Supprimé 979

Guest
Bonjour Ivan27

Voici une possibilité ;)
VB:
Sub ProchainJour()
  Dim lRow As Long, sRow As Long
  Dim sDay As String, iDay As Integer, nDay As Integer
  Dim TabDay() As String
  ' Tabelau des jours
  TabDay = Split("Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", ",")
  ' Dernière ligne du tableau
  lRow = Range("A" & Rows.Count).End(xlUp).Row
  ' Parcourir chauqe ligne
  For sRow = 3 To lRow
    ' Si la celluel de la colonne D n'est pas vide
    If Range("D" & sRow).Value <> "" Then
      ' Récupérer le joru en anglais
      sDay = Range("D" & sRow).Value
      ' Trouver la position du jour dans la liste
      For iDay = 0 To 6
        If UCase(TabDay(iDay)) = UCase(sDay) Then Exit For
      Next iDay
    End If
    ' Calculer le prochain jour
    nDay = (7 - Weekday(Date)) + 1 + iDay + 1
    ' Inscrire la date
    Range("J" & sRow).Value = Date + nDay
  Next sRow
End Sub

@+
 

JHA

XLDnaute Barbatruc
Bonjour à tous,
Bonjour BrunoM45,

Un essai par formule
VB:
=SI(JOURSEM(AUJOURDHUI();2)>=RECHERCHEV(RECHERCHE("zzzzz";$D$3:$D3);TableJour;2;FAUX);AUJOURDHUI()+(7-(JOURSEM(AUJOURDHUI();2)-RECHERCHEV(RECHERCHE("zzzzz";$D$3:$D3);TableJour;2;FAUX)));AUJOURDHUI()-(RECHERCHEV(RECHERCHE("zzzzz";$D$3:$D3);TableJour;2;FAUX)-JOURSEM(AUJOURDHUI();2)))

JHA
 

Pièces jointes

  • Date.xlsx
    12.6 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 534
dernier inscrit
Kalamymustapha