XL 2021 Afficher une date d'une colonne selon date du jour

BLACKHAYES

XLDnaute Impliqué
Bonjour le Forum,

je suis a la recherche du code vba pour afficher dans une cellule (a environ 5 jours) la prochaine date la plus proche de celle du jour contenu dans une colonne

Nom de la feuil = Recherche Infos Personnelle
Colonne "P"
Plage des dates : "W32:W91"

affichage = A9

j'ai essayé plusieurs code, mais cela ne fonctionne que pour le jour +1 de la date du jour (ex: aujourd'hui nous sommes le 01/12/2024 et si j'insère la date du 02/12/2024 dans ma colonne cela s'affiche mais dans mon tableau la prochaine date est le 11/12/2011 et la rien ne se passe

Ce sont des dates d'anniversaire
1°) elles sont triées par mois, et non par année
2°) la feuil est protégée

Désolé pour les explications,
 

wDog66

XLDnaute Occasionnel
Bonjour,

Pensez-vous que nous allons refaire votre fichier pour essayer notre code 🤔

Extrait de la charte :
2.5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant à ce que les données soient fictives et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.

A+
 

BLACKHAYES

XLDnaute Impliqué
Oups désolé,

voici mon fichier

J'ai refait au plus simple

je souhaiterais que la prochaine date de ma liste "date" (K20:k) (a partir de la date "B7" s'affiche en "E11" et "F11")
Le Prénom et la date de naissance

En résumé afficher "l'anniversaire a venir" ou les anniversaires si plusieurs dates identique

J'espère avoir été assez clair dans mes explications
 

Pièces jointes

  • fichier test.xlsm
    12.5 KB · Affichages: 6

BLACKHAYES

XLDnaute Impliqué
mes plage de mon message initial son bonnes
j'ai juste adapter au plus rapide mon fichier

Ensuite j'adapterais le code a mon fichier

voila j'ai remis les mêmes plages que ma demande initiale

Encore desolé
 

Pièces jointes

  • fichier test - Copie.xlsm
    13.1 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir BLACKHAYES, wDog,
Un essai en PJ avec le premier fichier :
VB:
Sub Anniv()
Dim DL%, i%, L%, Nb%, PlusProche, T
DL = [K10000].End(xlUp).Row
T = Range("G20:K" & DL)
PlusProche = 9 ^ 9
For i = 1 To UBound(T)
    X = DateSerial(Year(Date), Month(T(i, 5)), Day(T(i, 5))) - Date
    If X < PlusProche And X >= 0 Then L = i: PlusProche = X: Nb = X
Next i
[E11] = T(L, 1)
[F11] = T(L, 5)
[G11] = "Dans " & Nb & " jours."
[H11] = Int((Date - T(L, 5)) / 365.25) & " ans"
End Sub
 

Pièces jointes

  • fichier test.xlsm
    19.5 KB · Affichages: 3

BLACKHAYES

XLDnaute Impliqué
Bonsoir BLACKHAYES, wDog,
Un essai en PJ avec le premier fichier :
VB:
Sub Anniv()
Dim DL%, i%, L%, Nb%, PlusProche, T
DL = [K10000].End(xlUp).Row
T = Range("G20:K" & DL)
PlusProche = 9 ^ 9
For i = 1 To UBound(T)
    X = DateSerial(Year(Date), Month(T(i, 5)), Day(T(i, 5))) - Date
    If X < PlusProche And X >= 0 Then L = i: PlusProche = X: Nb = X
Next i
[E11] = T(L, 1)
[F11] = T(L, 5)
[G11] = "Dans " & Nb & " jours."
[H11] = Int((Date - T(L, 5)) / 365.25) & " ans"
End Sub
Bonjour,

Merci c'est exactement ce que je cherchais
Est-il possible que cela se fasse automatiquement a l'ouverture du fichier ??
 

Discussions similaires

Réponses
8
Affichages
537
  • Résolu(e)
Microsoft 365 Formule SI
Réponses
4
Affichages
400

Statistiques des forums

Discussions
315 058
Messages
2 115 812
Membres
112 550
dernier inscrit
tomate02