XL 2013 atteindre une cellule d'après la date du jour [Résolu]

bellenm

XLDnaute Impliqué
Bonsoir à tous,

Je cherche la formule pour ouvrir une feuille à un endroit précis suivant la date du jour!
Explication:

dans une feuille j'ai une colonne où des dates sont écrites sur différente lignes.

je voudrais qu'un lien m'envois directement à j-2 de la bonne cellule (pour venir d'une autre feuille vers celle-ci)

cette feuille est un calendrier de convocation de joueurs il y a ± 24 journées et le lien hyper texte m'envois toujours à la cellule "A 1" que j'ai donc définis par défaut, mais deux mois plus tard il devrais être en "A 27" et plus en "A 1"

Y a t'il une solution?

Merci pour votre éventuel aide.

Marc
 
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Re : atteindre une cellule d'après la date du jour

Bonsoir bellenm,

Impératif : les dates en colonne A doivent être de vraies dates c'est à dire des nombres.

Alors placez dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Activate()
On Error Resume Next 'si la date n'existe pas
Cells(Application.Match(CLng(Date - 2), [A:A], 0), 1).Select
End Sub
Bonne fin de soirée.
 

bellenm

XLDnaute Impliqué
Re : atteindre une cellule d'après la date du jour

Bonjour Job75,

petit rectificatif, ma colonne se trouve en "B"

Je suppose qu'il fallait changer les "A" en "B" dan les []

mais ça n'a pas été l'entrée sur la feuille garde la cellule lue auparavant!

ci joint la feuille de mon fichier

Disons que dans la formule on se placerait à ±5-6 jours de la date actuel.

Ce serait bien, merci d'avance.

Marc
 

Pièces jointes

  • date.xlsm
    51.7 KB · Affichages: 42
  • date.xlsm
    51.7 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : atteindre une cellule d'après la date du jour

Bonjour bellenm,

Dans le code de la feuille :

Code:
Private Sub WorkSheet_Activate()
On Error Resume Next 'si la date n'est pas trouvée
With Cells(Application.Match(CLng(Date), [B:B]), 1)
  .Select
  [S1] = .Address(0, 0) 'si vous voulez, pourquoi pas...
  [T1] = Range(.Cells(2, 8), .Cells(5, 14)).Address(0, 0) 'idem
End With
End Sub
Dans ThisWorkbook, pour l'ouverture du fichier :

Code:
Private Sub Workbook_Open()
Sheets("CAL").Activate
On Error Resume Next 'si la date n'est pas trouvée
With Cells(Application.Match(CLng(Date), [B:B]), 1)
  .Select
  [S1] = .Address(0, 0) 'si vous voulez, pourquoi pas...
  [T1] = Range(.Cells(2, 8), .Cells(5, 14)).Address(0, 0) 'idem
End With
End Sub
Remarque : j'ai viré vos formules (alambiquées) qui plombaient votre fichier en colonne S et T.

Je vous conseille de les remplacer par du code VBA, comme je l'ai fait pour S1 et T1...

Fichier joint.

A+
 

Pièces jointes

  • date(1).xlsm
    57.3 KB · Affichages: 43
  • date(1).xlsm
    57.3 KB · Affichages: 41

bellenm

XLDnaute Impliqué
Re : atteindre une cellule d'après la date du jour

re,

Pour ne pas rester dans l'ignorance, a quoi servent:
.Select
[S1] = .Address(0, 0) 'si vous voulez, pourquoi pas...
[T1] = Range(.Cells(2, 8), .Cells(5, 14)).Address(0, 0) 'idem

le S1 et T1

je comprend pas!

Merci Job75

Marc.
 
Dernière modification par un modérateur:

bellenm

XLDnaute Impliqué
Re : atteindre une cellule d'après la date du jour

Merci job75,

c'est vraiment ce que je voulais, y a t'il possibilité de mettre la cellule choisie par la date en fond jaune par exemple sans trop abuser?

Merci de toute façon job75.

Marc
 

job75

XLDnaute Barbatruc
Re : atteindre une cellule d'après la date du jour

Re,

J'ai renseigné S1 et T1 puisque vous semblez le vouloir. Ces adresses vous servent pour vos formules non ?

Et puisque vous voulez colorer en jaune la cellule sélectionnée, S1 peut servir pour définir une Mise en forme conditionnelle (MFC) en colonne A :

Code:
=LIGNE()=LIGNE(INDIRECT($S$1))
Fichier (2).

A+
 

Pièces jointes

  • date(2).xlsm
    57.9 KB · Affichages: 50
  • date(2).xlsm
    57.9 KB · Affichages: 52

bellenm

XLDnaute Impliqué
Re : atteindre une cellule d'après la date du jour

re

Super ca fonctionne bien je te remercie pour ton aide job75

Marc

Encore une petite chose Job75,

y a t'il aussi possibilité que la cellule sur la quel on travail change de couleur comme pour la sélection date mais qu' une fois terminé et que l'on change de cellule la précédente revient à sa couleur initiale?

Marc
 

job75

XLDnaute Barbatruc
Re : atteindre une cellule d'après la date du jour

Bonjour bellenm;

On peut faire tout ce qu'on veut mais pourquoi modifier cette cellule puisqu'elle correspond à la date du jour ?

Si vous tenez à effacer sa couleur il suffit d'effacer la cellule S1 ou de lui donner une autre valeur.

A+
 

job75

XLDnaute Barbatruc
Re : atteindre une cellule d'après la date du jour

Bonjour bellenm,

C'est plutôt moi qui avais mal compris.

Alors on peut colorer la cellule active par une 2ème MFC sur la plage A:N :

Code:
=ET(LIGNE()=LIGNE(CA);COLONNE()=COLONNE(CA))
le nom défini CA étant créé par cette macro :

Code:
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
ActiveCell.Name = "CA" 'nomme la cellule active
End Sub
J'ai rendu la 1ère MFC (jaune) prioritaire.

Fichier (3).

A+
 

Pièces jointes

  • date(3).xlsm
    58.5 KB · Affichages: 55
  • date(3).xlsm
    58.5 KB · Affichages: 48

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22