[Excel/VBA] Problème de dates

Résolu
Kvo Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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!
A voir également:

3 réponses

rasta67
 
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
0
Kvo Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   3
 
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 :/
0
Kvo Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   3
 
Parfait!
0
Utilisateur anonyme
 
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
0