OVH Cloud OVH Cloud

vba macro excel4-année bixextile

8 réponses
Avatar
andre.charrier
Bonjour,
2 problèmes.

1_Un programme écrit en excel 5 a été transformé en vba avec excel 2000.
En excel 5 pour des questions de rapidité j'enregistrai les macros
impression en excel4.
Actuellement en vba excel 2000 la liste des macros me donnent toutes les
macros excel4,qui non aucune utilité, mais pour une question de propreté
j'aimerais supprimer ces macros de la liste. J'ai essayé impossible.
Est-ce vraiment réalisable? Ce n'est pas grave le programme fonctionne, mais
la liste macros n'est pas belle.

2_ Dans ce programme dans la colonne date je vérifie que la date tapée n'est
pas plus grande que le nombre de jours du mois. Problème pour février, année
bixextile ou non, après avoir essayé différentes procédures en vba c'est un
fiasco.
Quelqu'un peut-il me fournir les réponses.
Merci.

8 réponses

Avatar
papou
Bonjour
Tu as sans doute une ou plusieurs feuilles macro Excel4, il te suffit donc
de suppirmer ces feuilles pour faire disparaître les macros dans la liste
(ou alors je n'ai pas bien compris ?)
Pour vérifier la cohérence d'une date, tu peux simplement utiliser la
fonction IsDate exemple :
IsDate("29/02/2005") te renverra faux (l'année n'est pas bisextile)

Cordialement
Pascal

"andre.charrier" a écrit dans le message de
news:chhi8p$7ik$
Bonjour,
2 problèmes.

1_Un programme écrit en excel 5 a été transformé en vba avec excel 2000.
En excel 5 pour des questions de rapidité j'enregistrai les macros
impression en excel4.
Actuellement en vba excel 2000 la liste des macros me donnent toutes les
macros excel4,qui non aucune utilité, mais pour une question de propreté
j'aimerais supprimer ces macros de la liste. J'ai essayé impossible.
Est-ce vraiment réalisable? Ce n'est pas grave le programme fonctionne,
mais

la liste macros n'est pas belle.

2_ Dans ce programme dans la colonne date je vérifie que la date tapée
n'est

pas plus grande que le nombre de jours du mois. Problème pour février,
année

bixextile ou non, après avoir essayé différentes procédures en vba c'est
un

fiasco.
Quelqu'un peut-il me fournir les réponses.
Merci.




Avatar
JpPradier
Bonjour André

Pour ton premier problème, regarde dans Insertion/Noms/Définir. Tu devrais trouver tes macros ici.

pour le deuxieme tu peux utiliser :
Exist = IsDate(Range("A1")) qui renvoie faux pour le 30/02/2004 par exemple.

j-p
Avatar
Modeste
Bonsour ® Pascal ...
;-))
on peut aussi sans macro,
passer par :
Données, Validation
autoriser : Date
superieure à 01/01/1900 (ou toute autre date)
Documenter message et alerte selon désirs

;o)))
@+
-----Message d'origine-----
Pour vérifier la cohérence d'une date, tu peux
simplement utiliser la fonction IsDate exemple :

IsDate("29/02/2005") te renverra faux (l'année n'est pas
bisextile)


Avatar
papou
Bonjour Modeste
Ben oui bien sûr mais j'avais cru comprendre que andre évoquait plutôt un
programme vba.
;-)
Cordialement
Pascal

"Modeste" a écrit dans le message de
news:69e901c4940a$be0b4550$
Bonsour ® Pascal ...
;-))
on peut aussi sans macro,
passer par :
Données, Validation
autoriser : Date
superieure à 01/01/1900 (ou toute autre date)
Documenter message et alerte selon désirs

;o)))
@+
-----Message d'origine-----
Pour vérifier la cohérence d'une date, tu peux
simplement utiliser la fonction IsDate exemple :

IsDate("29/02/2005") te renverra faux (l'année n'est pas
bisextile)


Avatar
® © ¿
Bonsour ® Pascal,
;o)))
Abondance de biens, ne nuit pas !!!
la validation "date tapée" intervient avant VBA
ce qui allégera d'autant les controles...
;-)))
-----Message d'origine-----
Bonjour Modeste
Ben oui bien sûr mais j'avais cru comprendre que andre
évoquait plutôt un

programme vba.
;-)
Cordialement
Pascal

"Modeste" a écrit
dans le message de

news:69e901c4940a$be0b4550$
Bonsour ® Pascal ...
;-))
on peut aussi sans macro,
passer par :
Données, Validation
autoriser : Date
superieure à 01/01/1900 (ou toute autre date)
Documenter message et alerte selon désirs

;o)))
@+
-----Message d'origine-----
Pour vérifier la cohérence d'une date, tu peux
simplement utiliser la fonction IsDate exemple :

IsDate("29/02/2005") te renverra faux (l'année n'est pas
bisextile)



.




Avatar
andre.charrier
Bonjour Papou,

Les feuilles macro Excel4 n'existent plus, mais quand je clique sur macro
leur nom est toujours affiché.

Pour la date j'ai colonne A le jour seulement et je vérifie que le jour tapé
est possible pour le mois sur lequel je travaille.
Par exemple: mois août je tape 32 je renvoi le message " le mois d'août n'a
que 31 jours", j'efface la cellule pour taper un nouveau jour.
Pour cela j'ai créé une liste avec les mois, nombre jours, message s'il y a
erreur.
Pour le mois de février j'ai mis 29, ce qui est faut car toutes les années
ne sont pas bissextiles.
Je n'arrive pas à trouver la formule vba me permettant de dire 2004 est
bissextile donc je mets 29, 2005 n'est pas bissextile je mets 28.
Merci de m'avoir répondu.
André

"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:O%
Bonjour
Tu as sans doute une ou plusieurs feuilles macro Excel4, il te suffit donc
de suppirmer ces feuilles pour faire disparaître les macros dans la liste
(ou alors je n'ai pas bien compris ?)
Pour vérifier la cohérence d'une date, tu peux simplement utiliser la
fonction IsDate exemple :
IsDate("29/02/2005") te renverra faux (l'année n'est pas bisextile)

Cordialement
Pascal

"andre.charrier" a écrit dans le message de
news:chhi8p$7ik$
Bonjour,
2 problèmes.

1_Un programme écrit en excel 5 a été transformé en vba avec excel
2000.


En excel 5 pour des questions de rapidité j'enregistrai les macros
impression en excel4.
Actuellement en vba excel 2000 la liste des macros me donnent toutes les
macros excel4,qui non aucune utilité, mais pour une question de propreté
j'aimerais supprimer ces macros de la liste. J'ai essayé impossible.
Est-ce vraiment réalisable? Ce n'est pas grave le programme fonctionne,
mais

la liste macros n'est pas belle.

2_ Dans ce programme dans la colonne date je vérifie que la date tapée
n'est

pas plus grande que le nombre de jours du mois. Problème pour février,
année

bixextile ou non, après avoir essayé différentes procédures en vba c'est
un

fiasco.
Quelqu'un peut-il me fournir les réponses.
Merci.








Avatar
AV
Je n'arrive pas à trouver la formule vba me permettant de dire 2004 est
bissextile donc je mets 29, 2005 n'est pas bissextile je mets 28.


x = Day(DateSerial(Year(Date), 3, 0))
msgbox x

AV

Avatar
andre.charrier
Bonjour Jp

1er problème, j'ai fait ce que tu indiques, les macros étaient bien ici, je
les ai supprimées, mais lorsque je clique sur macro elles sont toujours
présentes.
Les feuilles macro Excel4 n'existent plus.

2ème je me suis mal expliqué.
J'ai colonne A le jour seulement et je vérifie qu'il existe par rapport au
mois sur lequel je travaille.
Exemple: mois Août, je tape 32 et j'ai le message" le mois d'août n'a que 31
jours", je retourne sur la cellule pour taper un autre jour.
Pour cela j'ai créé une liste avec, nom du mois, nombre de jour soit 30 ou
31, message s'il y a erreur.
Problème pour février j'ai mis 29, ce qui est faux toutes les années ne sont
pas bissextiles.
Je ne trouve pas comment reconnaître que 2004 est bissextile, dans ce cas
j'ai 29, pour 2005 il faudrait que je puisse avoir 28.
Merci pour m'avoir répondu.
André
----------------------------------------------------------------------------
----- Original Message -----
From: "JpPradier"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, September 06, 2004 1:55 PM
Subject: Re: vba macro excel4-année bixextile


Bonjour André

Pour ton premier problème, regarde dans Insertion/Noms/Définir. Tu devrais
trouver tes macros ici.


pour le deuxieme tu peux utiliser :
Exist = IsDate(Range("A1")) qui renvoie faux pour le 30/02/2004 par
exemple.


j-p



"JpPradier" a écrit dans le message
de news:
Bonjour André

Pour ton premier problème, regarde dans Insertion/Noms/Définir. Tu devrais
trouver tes macros ici.


pour le deuxieme tu peux utiliser :
Exist = IsDate(Range("A1")) qui renvoie faux pour le 30/02/2004 par
exemple.


j-p