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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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,
 
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+
 
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

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

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 ??
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour