Recherche date à l'ouverture d'un fichier Excel

Le
ze_louloux
Bonjour à tous
Je voudrai créer une macro
A l'ouverture d'un fichier Excel
Sur une feuille nommée "Bilan des frais"

Sélectionner une date (si elle existe) antérieure à aujourd'hui de 4 ans
sur la 5ème ligne

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23404811
Bonjour,
1. antérieure à aujourd'hui de 4 ans pile ?
2. n'importe où sur la 5e ligne ?
Cordialement.
Daniel


Bonjour à tous
Je voudrai créer une macro
A l'ouverture d'un fichier Excel
Sur une feuille nommée "Bilan des frais"

Sélectionner une date (si elle existe) antérieure à aujourd'hui de 4 ans sur
la 5ème ligne

Merci de votre aide
ze_louloux
Le #23405281
Le 31/05/2011 16:29, DanielCo a écrit :
Bonjour,
1. antérieure à aujourd'hui de 4 ans pile ?
2. n'importe où sur la 5e ligne ?
Cordialement.
Daniel


Bonjour à tous
Je voudrai créer une macro
A l'ouverture d'un fichier Excel
Sur une feuille nommée "Bilan des frais"

Sélectionner une date (si elle existe) antérieure à aujourd'hui de 4
ans sur la 5ème ligne

Merci de votre aide






Bonjour
1. oui (aujourd'hui-1460 jours)
2. la date peut se trouver à plusieurs endroits sur la ligne 5
Merci
Cordialement
MichD
Le #23405461
Bonjour,

Dans le ThisWorkbook de ton classeur, tu copies ceci :

'--------------------------------
Private Sub Workbook_Open()
Call Trouver_La_Date
End Sub
'--------------------------------

Dans un module standard, tu inscris cette procédure :
Tu adaptes le nom de la feuille dans la procédure.
Elle est adaptée pour la ligne 5, elle retrouve la première date qu'elle trouve
et sélectionne la cellule.
'--------------------------------------
Sub Trouver_La_Date()
Dim X As Variant
With Worksheets("Feuil1")
.Activate
X = Application.Match(CLng(DateSerial(Year(Now()) - 4, _
Month(Now()), Day(Now()))), Range("5:5").Value2, 0)
If IsNumeric(X) Then
.Range("A5").Offset(, X - 1).Select
Else
.Range("A1").Select
End If
End With
End Sub
'--------------------------------------


MichD
--------------------------------------------
"ze_louloux" a écrit dans le message de groupe de discussion : 4de5167e$0$30795$

Le 31/05/2011 16:29, DanielCo a écrit :
Bonjour,
1. antérieure à aujourd'hui de 4 ans pile ?
2. n'importe où sur la 5e ligne ?
Cordialement.
Daniel


Bonjour à tous
Je voudrai créer une macro
A l'ouverture d'un fichier Excel
Sur une feuille nommée "Bilan des frais"

Sélectionner une date (si elle existe) antérieure à aujourd'hui de 4
ans sur la 5ème ligne

Merci de votre aide






Bonjour
1. oui (aujourd'hui-1460 jours)
2. la date peut se trouver à plusieurs endroits sur la ligne 5
Merci
Cordialement
ze_louloux
Le #23407091
Bonjour
Merci MichD, c'est exactement ce que je voulais
Super
Bon week-end-end au forum
Jacquouille
Le #23408131
Bonjour Denis
D'une manière générale, comment peut-on rechercher la date la plus proche
(si pas =) de "Aujourdhui() , dans une plage A1:A100 ?
Merci
Bonne fin de journée


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
is378m$caa$

Bonjour,

Dans le ThisWorkbook de ton classeur, tu copies ceci :

'--------------------------------
Private Sub Workbook_Open()
Call Trouver_La_Date
End Sub
'--------------------------------

Dans un module standard, tu inscris cette procédure :
Tu adaptes le nom de la feuille dans la procédure.
Elle est adaptée pour la ligne 5, elle retrouve la première date qu'elle
trouve
et sélectionne la cellule.
'--------------------------------------
Sub Trouver_La_Date()
Dim X As Variant
With Worksheets("Feuil1")
.Activate
X = Application.Match(CLng(DateSerial(Year(Now()) - 4, _
Month(Now()), Day(Now()))), Range("5:5").Value2, 0)
If IsNumeric(X) Then
.Range("A5").Offset(, X - 1).Select
Else
.Range("A1").Select
End If
End With
End Sub
'--------------------------------------


MichD
--------------------------------------------
"ze_louloux" a écrit dans le message de groupe de discussion :
4de5167e$0$30795$

Le 31/05/2011 16:29, DanielCo a écrit :
Bonjour,
1. antérieure à aujourd'hui de 4 ans pile ?
2. n'importe où sur la 5e ligne ?
Cordialement.
Daniel


Bonjour à tous
Je voudrai créer une macro
A l'ouverture d'un fichier Excel
Sur une feuille nommée "Bilan des frais"

Sélectionner une date (si elle existe) antérieure à aujourd'hui de 4
ans sur la 5ème ligne

Merci de votre aide






Bonjour
1. oui (aujourd'hui-1460 jours)
2. la date peut se trouver à plusieurs endroits sur la ligne 5
Merci
Cordialement
DanielCo
Le #23408291
Bonjour,
Avec une formule :
=INDEX(A1:A14;EQUIV(MIN(ABS(A1:A100-B1));ABS(A1:A100-B1);0);1)
Dans une macro, la même, traduite et évaluée.
Cordialement.
Daniel


Bonjour Denis
D'une manière générale, comment peut-on rechercher la date la plus proche
(si pas =) de "Aujourdhui() , dans une plage A1:A100 ?
Merci
Bonne fin de journée


Jacquouille
DanielCo
Le #23408281
Oups,
=INDEX(A1:A100;EQUIV(MIN(ABS(A1:A100-B1));ABS(A1:A100-B1);0);1)
avec une pplage de dates en A1:A100.
Daniel


Bonjour,
Avec une formule :
=INDEX(A1:A14;EQUIV(MIN(ABS(A1:A100-B1));ABS(A1:A100-B1);0);1)
Dans une macro, la même, traduite et évaluée.
Cordialement.
Daniel


Bonjour Denis
D'une manière générale, comment peut-on rechercher la date la plus proche
(si pas =) de "Aujourdhui() , dans une plage A1:A100 ?
Merci
Bonne fin de journée


Jacquouille
DanielCo
Le #23408571
Re oups, matricielle, nien sûr.
Daniel


Oups,
=INDEX(A1:A100;EQUIV(MIN(ABS(A1:A100-B1));ABS(A1:A100-B1);0);1)
avec une pplage de dates en A1:A100.
Daniel


Bonjour,
Avec une formule :
=INDEX(A1:A14;EQUIV(MIN(ABS(A1:A100-B1));ABS(A1:A100-B1);0);1)
Dans une macro, la même, traduite et évaluée.
Cordialement.
Daniel


Bonjour Denis
D'une manière générale, comment peut-on rechercher la date la plus proche
(si pas =) de "Aujourdhui() , dans une plage A1:A100 ?
Merci
Bonne fin de journée


Jacquouille
Jacquouille
Le #23408971
Re Re oups, Bien sûr.. -))))))

Je m'étais permis de corriger him self l'étendue de la plage.

Merci

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

"DanielCo" a écrit dans le message de groupe de discussion :
is5g5r$sp$

Re oups, matricielle, nien sûr.
Daniel
Gloops
Le #23416721
MichD a écrit, le 31/05/2011 19:07 :
Bonjour
1. oui (aujourd'hui-1460 jours)



Bonjour,

Effectivement, c'est largement le plus simple.

Alors après, si on veut tenir compte que sur 4 années consécutives il y
en a fréquemment une de bissextile (mais pas toujours), on peut entrer
dans des évaluations plus sophistiquées :)

SerialDate(Year(Now()) - 4, Month(Now()), Day(Now()))
Publicité
Poster une réponse
Anonyme