Salut
Ton fichier n'a besoin de comporter que 2 ou 3 références et ta combobox. En gros, juste le minimum pour reproduire le problème et le comprendre.
A+
Salut
Comme je ne sais pas comment tu te sers de ton fichier, je ne suis pas sûr d'avoir compris tes problèmes. Mais on va essayer quand même.
Pour les comboboxs
comme tu ne sembles pas les utiliser en direct, le plus simple est faire tes listes d'horaires en texte :
tu déclare tes lites horaires en texte (Menu format de cellule = texte) et tu entres les valeurs (00:30, 01:00, 01:30, etc)
Avantage : ta combobox t'affiche l'heure choisie et non la valeur qui sert à afficher l'heure choisie.
inconvénient : c'est plus un nombre manipulable, mais du texte. Donc, quand tu le transmets à une cellule, il faut le reconvertir
En macro, au lieu de :
Range(Heur_arrivée) = ComboBox1
tu devras utiliser
Range(Heur_arrivée) = Timevalue(ComboBox1)
ça devrai résoudre tes problèmes
Feuille récap
1er problème :
À priori, il suffir de déclarer le format des cellule en hh:mm pour le résoudre.
En standard, il prend le format américain et c'est ça la source de l'erreur.
Il faut faire la même chose pour toutes tes cellules qui contiennent de l'heure.
2me problème :
il faut que tu modifie ta formule en I34 :
ci-joint une des solutions que j'ai trouvé pour afficher dans la ListBox les mêmes données que dans le tableau d'origine, en paramètrant par la même occasion les mois pairs, impairs et les années bissextiles.
Il y a encore quelques défauts au niveau de la gestion des couleurs mais le résultat est là.
Formule de la date de Pâques
Celle-ci donne 1 décalage constant d'un jour si l'option 'Calendrier depuis 1904' est cochée
Et elle donne un résultat faux en 2049 et 2076
=ARRONDI(DATE(An;4;MOD(234-11*MOD(An;19);30))/7*7-6
Celle-ci fonctionne bien :
=DATE(An;3;29,56+0,979*MOD(204-11*MOD(An;19);30)-JOURSEM(DATE(An;3;28,56+0,979*MOD(204-11*MOD(An;19);30))))
Dates de la feuille 'Références' :
En B53 =DATE(An;1;1)
En B55 =DATE(An;12;31)
Idem pour le 1er mai, 8 mai, 14 juillet, 15 août, etc
En D53 =B53 simplement
En G65
=SI(OU(ET(MOD(G64;4)=0;MOD(G64;100)>0);MOD(G64;400)=0);'oui';'non')
Pour qu'une année soit bissextile,
il faut qu'elle soit divisible par 4,
à l'exception les années qui sont divisibles par 100,
à l'exception sur l'exception des années qui sont divisibles par 400.
j'ai corrigé les erreurs sur mon fichier original, pour les années bissextiles et éventuellement l'erreur en l'an 2049 etc... on ne sait pas si l'on sera encore 'là' (lol).
merci encore une fois.
je me pose une question Monique, depuis que je connais ce site, tu 'Excel' très souvent sur les feuilles de calcul avec tes formules magiques, mais t'es tu déjà lancé dans les macros?
car cela est très passionnant et on en apprend tous les jours.
Je ne suis jamais lancée dans les macros,
je pourrais ne plus en revenir.
L'enregistreur suffit bien pour ce que j'ai à faire.
Une fois, j'ai eu besoin d'améliorer une macro,
mon sauveur a été ChTi160.