Macro excel : le premier du mois en cours

Résolu/Fermé
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 - 25 août 2010 à 08:04
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 - 25 août 2010 à 09:08
Bonjour,

Je suis actuellement sur un projet sour Excel 2003.

Je dois insérer dans une cellule (A1 par exemple) :
- le premier du mois précédent si on est dans la première quinzaine du mois
- le premier du mois en cours si on est dans la deuxième quinzaine du mois

Et dans une seconde cellule (A2) :
- la date de la veille (J-1).

Le tout au format JJ/MM/YYYY.

Je vous remercie pour votre aide et vous souhaite une bonne journée.
Au plaisir.


A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 25/08/2010 à 08:34
Bonjour,

pas besoin de macro pour ca!


début mois
=SI(jour(AUJOURDHUI())>=15;FIN.MOIS(AUJOURDHUI();-1)+1;FIN.MOIS(AUJOURDHUI();-2)+1)

à mettre au format date (format-cellule-nombre-date)
fin;mois activé par les unitaires d'analyse(outils-macros complémentaires)

la date de la veille
=aujourdhui()-1
a mettre au format date

maintenant si tu tiens absolument à une macro, tu dis et on fera :-)

:-x
1
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
Modifié par Lebeaupat le 25/08/2010 à 09:09
Merci, mais je dois absolument utiliser une macro... Il ne serait pas possible de "transformer" cette fonction en macro ?
Je vous remercie et vous souhaite une bonne journée.
Au plaisir.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 août 2010 à 08:50
Bonjour tout le monde,
Trouvé ici :
1er jour du mois précédent :
Dim dFirst As Date
   dFirst = CDate("1/" & Format(DateAdd("m", -1, Date), "mm/yyyy"))

Ce qui donne donc avec un test pour la quinzaine :
If CInt(Format(Date, "d")) < 15 Then
  [A1] = CDate("1/" & Format(DateAdd("m", -1, Date), "mm/yyyy"))
Else
  [A1] = CDate("1/" & Format(DateAdd("m", 0, Date), "mm/yyyy"))
End If

pour la date de la veille en A2 :
[A2] = CDate(Date - 1)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
25 août 2010 à 08:55
Tu aurais pu te donner la peine de tester ma proposition à la quelle il manquait quelque chose :-(

en tant que "robot à ton service", je te propose une macro déclenchée dans la zone A1:F10 par un clic droit

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:F10")) Is Nothing Then: Exit Sub
Cancel = True
If Day(Date) >= 15 Then
    Target = Date - Day(Date) + 1
Else
    Target = DateSerial(Year(Date), Month(Date) - 1, 1)
End If

End Sub


a installer dans le module feuille concernée:

copier cette macro
clic droit dans le nom de l'onglet
visualiser le code
coller

si tu préfères déclencher par un double clic
remplace
Private Sub Worksheet_BeforeRightClick
par
Worksheet_BeforeDoubleClick
0
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
25 août 2010 à 08:56
Je teste tout ça et je vous tiens au courant.
En tout cas je vous remercie pour votre aide.
A très vite.
0
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
25 août 2010 à 09:08
La macro de pijaku fonctionne à merveille !!!!
Merci pour votre travail !!
Quant-à vous, michel_m, non vous n'êtes pas un robot, et encore moins à mon service...
Par contre votre macro me semble être plus simple (textuellement parlant) et aussi efficace !
Merci pour à tous pour votre aide, et bonne journée !
Au plaisir.
0
peugeot504 Messages postés 142 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 18 mai 2011 20
25 août 2010 à 08:10
Y a encore des gens sous excel 2003 ?
Change de boite !
0
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
Modifié par Lebeaupat le 25/08/2010 à 08:15
La boite dans laquelle je travaille n'a pas forcément les moyens d'installer Excel 2007 ou Excel 2010 sur 400 postes...
Donc oui il y a encore des gens sous Excel 2003 et non je ne changerais pas de boite...
Merci quand-même pour ton intervention car très utile... J'avance beaucoup.
0
peugeot504 Messages postés 142 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 18 mai 2011 20
25 août 2010 à 08:19
Je vais t'envoyer un collegue qui est specialiste des macros.
Mais il me semble important que tu saches qu'il existe des solutions gratuites bien plus performantes que windows.
C'etait juste pour t'aider.

;-)
0
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
25 août 2010 à 08:23
Je te remercie.
Je sais qu'il existe des solutions gratuites, mais actuellement ils utilisent Excel 2003, et je n'ai pas d'autre choix que de faire avec...
Je leur ai demandé s'ils pouvaient changer, mais ils ne veulent pas car (je cite) "Excel fonctionne très bien et nous avons déjà les licences"...
Je pense surtout qu'ils (les informaticiens) sont un peu faignants sur les bords... M'enfin bon.
Merci à toi ^^
++
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
25 août 2010 à 08:59
Je pense surtout qu'ils (les informaticiens) sont un peu faignants sur les bords.

UN GRAND MERCI POUR LES INFORMATICIENS QUI ESSAYENT DE T'AIDER!

Et si, toi aussi, tu te mettais au boulot !
0
Lebeaupat Messages postés 198 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 20 janvier 2018 21
25 août 2010 à 09:03
Je ne voulais pas parler des informaticiens en général, mais de ceux qui sont dans mon entreprise !!!
Je suis moi-même informaticien, mais novice... Je suis encore étudiant...
Et je ne vais pas aller taper sur le dos de ceux qui m'ont aidé, ce serait traitre !
En tout cas merci et à bientôt !
Au plaisir.
0