[Excel/VBA] Problème de dates

Résolu/Fermé
Kvo Messages postés 27 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 22 mai 2008 - 15 mars 2007 à 17:26
 Utilisateur anonyme - 17 mai 2007 à 13:36
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

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 mercredi 28 février 2007 Statut Membre Dernière intervention 22 mai 2008 3
15 mars 2007 à 18:04
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 mercredi 28 février 2007 Statut Membre Dernière intervention 22 mai 2008 3
17 mai 2007 à 12:55
Parfait!
0
Utilisateur anonyme
17 mai 2007 à 13:36
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