Clic sur calendrier

M

Mathieu

Guest
Bonjour,

J'utilise l'objet calendrier dans une de mes feuilles.
J'ai 12 feuilles (01 ==> 12), correspondant aux douze mois de l'année, sur chaque feuille on trouve les 30 ou 31 jours du mois.
J'aimerais que lorsque je clique sur une date dans le calendrier, excel aille directement dans la cellule de la bonne feuille contenant la date. Pour le moment je n'y arrive pas.
J'ai essayé de récupérer la valeur cliquée dans le tableau pour la mettre dans une cellule et ensuite créer un lien hypertexte, mais mes liens ne fonctionnent pas...

Merci pour votre aide !

Cordialement

Mathieu
 
M

Mathieu

Guest
Re: Clic sur calendrier pour selection feuille et cellule

Merci beaucoup c'est parfaitement ce que je recherchais.
Une fois de plus, je me rends compte que la solution était à ma portée mais que j'ai cherché trop compliqué !
On me disait déjà ça à l'école ;-)

Merci encore
 
M

Mathieu

Guest
Re: Clic sur calendrier pour selection feuille et cellule

Encore un tout petit problème et je pense que c'est parfait !

Le truc dans le fichier que tu as fait c'est que l'appel du userform est sur la Feuil1.

Mais en le placant sur une nouvelle feuille, si je clique une date sur le calendrier qui existe dans l'une des autres feuilles, elle apparait sur la feuille d'où j'ai lancé le calendrier, où il n'y a pas de date.

J'ai regardé le code, je suppose que cela se passe là :

Mois = Month(Calendar1)
jour = Day(Calendar1)

Sheets(Mois).Activate
Cells(1, jour).Select

Peux-tu stp m'expliquer la syntaxe des deux dernières lignes ?
Merci d'avance
 
M

Mathieu

Guest
Re: Clic sur calendrier pour selection feuille et cellule

Je progresse...

J'ai compris que dans Cells, le premier argument était le RowIndex, mais dans mon cas, mes dates ne seront pas toutes dans le premier rang.
Par exemple le 01/01/04 est en A6 mais le 08/01/04 est en A48.
J'ai essayé de déclarer

RowIndex As Variant

et de dire

RowIndex = (Range("A1":"A426"))

mais ça ne fonctionne pas.

Et avec un For ... Next :

For RowIndex = 1 to 426
Cells(RowIndex, jour).Select
Next RowIndex

Il me trouve bien le jour mais parcours tout le rang et le focus se retrouve alors sur le rang 426 !!

Merci de m'éclairer !
 
M

michel

Guest
bonjour Mathieu


Calendar1 est la date renvoyée lors du Clic dans le calendrier

Mois = Month(Calendar1)
permet d'extraire le numero du mois de la date cible
Janvier=1 , février=2 ...etc...

jour = Day(Calendar1)
permet d'extraire le numero de jour dans la date ( de 1 à 31 )

Sheets(Mois).Activate
permet de Sélectionner l'onglet correspondant au numero du mois
dans l'exemple , pour que cela fonctionne , Janvier doit etre impérativement dans la 1ere feuille , Fevrier=2eme feuille ...etc...

Cells(1, jour).Select
soit Cells(Ligne,Colonne)
Selectionnes la cellule correspondant au jour recherché
dans l'exemple tous les jours du mois sont dans la premiere ligne :
1er jour= Cells(1,Jour) soit la cellule A1 si Jour=1 , 2eme jour=Cells(1,Jour) la cellule B1 si Jour=2...etc...


Le fichier que je t'ai proposé n'est qu'un exemple simple .
Si la mise en forme de ton classeur est différente , je ne pourrai pas t'aider d'avantage sans que tu ne places un exemple zippé sur le forum



bon après midi
MichelXld
 
M

Mathieu

Guest
Re bonjour Michel,

Merci beaucoup pour tes nombreux éclairages.
Effectivement avec la "source", ça va être plus pratique pour toi de m'aider, je l'espère !
J'ai trouvé comment faire pour pouvoir insérer ma feuille supplémentaire sans tout perturber.

J'ai dit :

Mois = Month(Calendar1) +1
Ce qui effectivement décale tout d'une feuille

Ta source est parfaite pour une série de date sur la même ligne, effectivement
mais comme tu vas le voir dans mon fichier, mes dates ne sont pas disposées du tout de la même façon, et je ne parviens pas à modifier la ligne Cells(x,y) de manière adéquate.

Merci d'avance

Bien cordialement
 

Discussions similaires

Réponses
5
Affichages
176

Statistiques des forums

Discussions
312 501
Messages
2 089 014
Membres
104 005
dernier inscrit
Maxence