Rechercher : dans
Par :

[Excel/VBA] Problème de dates

Dernière réponse le 17 mai 2007 à 13:36:10 Kvo, le 15 mar 2007 à 17:26:31 
 Signaler ce message aux modérateurs

Bonjour à tous,
Je lutte sur une formule dans l'un de mes codes et je sollicite donc vos connaissances. Dans une boucle VBA je veux faire apparaître dans une cellule le nom du mois dernier + celui de l'année en cours (exemple : Février 2007). J'ai commencé par ne m'intéresser qu'au mois et je suis déjà bloqué :(
Voilà ce que je ne veux pas :

Cells(1, 1).Formula = "=Text(""1/"" & Month(Today())-1, ""mmmm"")"

Cette formule me met bien Février dans A1 mais sous forme de formule et non sous forme de valeur. J'ai donc tenté ceci:

Cells(1, 1).Value = Application.WorksheetFunction.Text("1/" & Month(Now()) - 1, "mmmm")

J'ai désormais bien une valeur fixe dans A1, mais Excel me retourne Janvier et non pas Février du fait de son mode de codage des dates...

Bref avant que je devienne dingue par pitié aidez-moi :)
D'avance merci!

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [Excel/VBA] Problème de dates » dans :
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

rasta67, le 15 mar 2007 à 17:38:26

Salut essaye ca :

Dim date_courante As String
Dim mois_courant As String

date_courante = CStr(Now())
mois_courant = MonthName(CLng(Mid(date_courante, 4, 2)) - 1)

Feuil1.Cells(1, 1).Value = mois_courant

y a peu etre plus simple

Répondre à rasta67

2

Kvo, le 15 mar 2007 à 18:04:56

Ca marche bien et c'est très astucieux je te remercie beaucoup!
Je vais l'utiliser en attendant d'autres avis éclairés.

Je pense néanmoins qu'il doit y avoir un moyen plus facile sous Excel d'obtenir le nom du mois en cours (et par extension celui du mois précédent). L'inverse serait un comble vu tout ce que l'on peut faire avec ce logiciel :/

Répondre à Kvo

3

Kvo, le 17 mai 2007 à 12:55:29

Parfait!

Répondre à Kvo

4

 Lupin.A, le 17 mai 2007 à 13:36:10

Bonjour,

autre façon de procéder ...

Sub ChercheMois()

    Dim LaDate As Date, Lannee As Long
    Dim LeMois As Variant, LeJour As Variant
    
    LaDate = Date
    Lannee = Year(LaDate)
    LeMois = Month(LaDate)
    LeJour = Day(LaDate)
    
    LeMois = MonthName(Month(LaDate))
    LeJour = WeekdayName(Weekday(LaDate))
    
    MsgBox LeMois & vbCrLf & LeJour
    
End Sub
'

Lupin

Répondre à Lupin.A
Collection CommentÇaMarche.net