Bonjour,
Je commencerai par me présenter,
J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro
applications. Mes connaissances en la matière s'accroient mais sont limitées
par un manque d'aide direct. Mon post concerne en fait mon problème suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois
précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur
Excel qui est :
ensuite sur VBA je mets ma variable en date et je la fais correspondre à la
cellule contenant la fonction
Ma question est : Peut-on faire la même chose uniquement en VB
Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa
de me l'expliquer (pour tout ce qui pas forcement logique).
Merci beaucoup de votre aide
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clément Marcotte
Bonjour,
En VBA la fonction Date() retourne la date du jour. Avec la fonction MOnth(ladate) tu peux récupérer le numéro du mois de la date en cause. En enlevant 1 à la réponse, tu obtiens le mois précédent. Pour obtenir l'année, tu utilise le même principe, mais avec la fonction Year(), mais sans enlever 1. Pour être sur d'obtenir une date valide, je passe par la fonction DateSerial(année,mois,jour).
Sub unmoisplustot() Dim ladate As Date Dim lejour As Integer, lemois As Integer Dim lannee As Integer lejour = 1 lemois = Month(Date) - 1 lannee = Year(Date) ladate = DateSerial(lannee, lemois, lejour) End Sub
Donc "ced" a écrit dans le message de news:
Bonjour, Je commencerai par me présenter, J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro
applications. Mes connaissances en la matière s'accroient mais sont limitées
par un manque d'aide direct. Mon post concerne en fait mon problème suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois
précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur
ensuite sur VBA je mets ma variable en date et je la fais correspondre à la
cellule contenant la fonction Ma question est : Peut-on faire la même chose uniquement en VB Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa
de me l'expliquer (pour tout ce qui pas forcement logique). Merci beaucoup de votre aide
Bonjour,
En VBA la fonction Date() retourne la date du jour. Avec la fonction
MOnth(ladate) tu peux récupérer le numéro du mois de la date en cause.
En enlevant 1 à la réponse, tu obtiens le mois précédent. Pour obtenir
l'année, tu utilise le même principe, mais avec la fonction Year(),
mais sans enlever 1. Pour être sur d'obtenir une date valide, je passe
par la fonction DateSerial(année,mois,jour).
Sub unmoisplustot()
Dim ladate As Date
Dim lejour As Integer, lemois As Integer
Dim lannee As Integer
lejour = 1
lemois = Month(Date) - 1
lannee = Year(Date)
ladate = DateSerial(lannee, lemois, lejour)
End Sub
Donc
"ced" <ced1er@numericable.fr> a écrit dans le message de
news:umGrFx7sEHA.2660@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je commencerai par me présenter,
J'utilise au quotidien pour mon travail Excel et VB afin de créer de
macro
applications. Mes connaissances en la matière s'accroient mais sont
limitées
par un manque d'aide direct. Mon post concerne en fait mon problème
suivant,
je souhaite disposer d'une variable correspondant au premier jour du
mois
précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction
sur
ensuite sur VBA je mets ma variable en date et je la fais
correspondre à la
cellule contenant la fonction
Ma question est : Peut-on faire la même chose uniquement en VB
Pour les solutions que vous m'apporteriez (éventuellement) ce serait
sympa
de me l'expliquer (pour tout ce qui pas forcement logique).
Merci beaucoup de votre aide
En VBA la fonction Date() retourne la date du jour. Avec la fonction MOnth(ladate) tu peux récupérer le numéro du mois de la date en cause. En enlevant 1 à la réponse, tu obtiens le mois précédent. Pour obtenir l'année, tu utilise le même principe, mais avec la fonction Year(), mais sans enlever 1. Pour être sur d'obtenir une date valide, je passe par la fonction DateSerial(année,mois,jour).
Sub unmoisplustot() Dim ladate As Date Dim lejour As Integer, lemois As Integer Dim lannee As Integer lejour = 1 lemois = Month(Date) - 1 lannee = Year(Date) ladate = DateSerial(lannee, lemois, lejour) End Sub
Donc "ced" a écrit dans le message de news:
Bonjour, Je commencerai par me présenter, J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro
applications. Mes connaissances en la matière s'accroient mais sont limitées
par un manque d'aide direct. Mon post concerne en fait mon problème suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois
précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur
ensuite sur VBA je mets ma variable en date et je la fais correspondre à la
cellule contenant la fonction Ma question est : Peut-on faire la même chose uniquement en VB Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa
de me l'expliquer (pour tout ce qui pas forcement logique). Merci beaucoup de votre aide
Philo Hippo
je vous laisse vous debrouiller avec la function ci-dessous, dites moi si vous avez quelques difficultes que ce soit. Sub test() Dim Mois_Dernier Mois_Dernier= Format(Now, "mm") - 1 MsgBox Mois_Dernier,vbOKOnly End Sub
Function GetStringDate(Optional WhatType As String)
Dim Mois_Dernier , Todays_Date, Today_Day_No, Todays_Month_Year, Time_Now, Date_Suffix
If Today_Day_No = 1 Or Today_Day_No = 21 Or Today_Day_No = 31 Then Date_Suffix = "st" ElseIf Today_Day_No = 2 Or Today_Day_No = 22 Then Date_Suffix = "nd" ElseIf Today_Day_No = 3 Or Today_Day_No = 23 Then Date_Suffix = "rd" Else Date_Suffix = "th" End If
If WhatType <> "" Then Select Case WhatType Case "DateAndTimeOnly" GetStringDate = Todays_Date & Date_Suffix & "" _ & Todays_Month_Year _ & " at " & Time_Now Case "ExpiryDateOnly" Todays_Date = Format(Now - 1, "ddd, d") ' & ", " & Format(Now, "dd,d") Todays_Month_Year = Format(Now, " mmm yyyy") GetStringDate = Todays_Date & Todays_Month_Year & " " & Time_Now & " GMT" Case Else End Select Else GetStringDate = " This File Was Automatically Generated On: " _ & vbNewLine & "' " _ & Todays_Date & Date_Suffix & "" _ & Todays_Month_Year _ & " at " & Time_Now End If End Function
--
Hope that helps,
Phil
------------------------------------------
IT Analyst SE1, London, UK,
http://uk.geocities.com/philippeoget philippeoget at yahoo dot com
Bonjour, Je commencerai par me présenter, J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro applications. Mes connaissances en la matière s'accroient mais sont limitées
par un manque d'aide direct. Mon post concerne en fait mon problème suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur Excel qui est :
ensuite sur VBA je mets ma variable en date et je la fais correspondre à la
cellule contenant la fonction Ma question est : Peut-on faire la même chose uniquement en VB Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa de me l'expliquer (pour tout ce qui pas forcement logique). Merci beaucoup de votre aide
je vous laisse vous debrouiller avec la function ci-dessous, dites moi si
vous avez quelques difficultes que ce soit.
Sub test()
Dim Mois_Dernier
Mois_Dernier= Format(Now, "mm") - 1
MsgBox Mois_Dernier,vbOKOnly
End Sub
Function GetStringDate(Optional WhatType As String)
Dim Mois_Dernier , Todays_Date, Today_Day_No, Todays_Month_Year,
Time_Now, Date_Suffix
If Today_Day_No = 1 Or Today_Day_No = 21 Or Today_Day_No = 31 Then
Date_Suffix = "st"
ElseIf Today_Day_No = 2 Or Today_Day_No = 22 Then
Date_Suffix = "nd"
ElseIf Today_Day_No = 3 Or Today_Day_No = 23 Then
Date_Suffix = "rd"
Else
Date_Suffix = "th"
End If
If WhatType <> "" Then
Select Case WhatType
Case "DateAndTimeOnly"
GetStringDate = Todays_Date & Date_Suffix & "" _
& Todays_Month_Year _
& " at " & Time_Now
Case "ExpiryDateOnly"
Todays_Date = Format(Now - 1, "ddd, d") ' & ", " &
Format(Now, "dd,d")
Todays_Month_Year = Format(Now, " mmm yyyy")
GetStringDate = Todays_Date & Todays_Month_Year & " " &
Time_Now & " GMT"
Case Else
End Select
Else
GetStringDate = " This File Was Automatically Generated On: " _
& vbNewLine & "' " _
& Todays_Date & Date_Suffix & "" _
& Todays_Month_Year _
& " at " & Time_Now
End If
End Function
--
Hope that helps,
Phil
------------------------------------------
IT Analyst
SE1, London, UK,
http://uk.geocities.com/philippeoget
philippeoget at yahoo dot com
"ced" <ced1er@numericable.fr> wrote in message
news:umGrFx7sEHA.2660@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je commencerai par me présenter,
J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro
applications. Mes connaissances en la matière s'accroient mais sont
limitées
par un manque d'aide direct. Mon post concerne en fait mon problème
suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois
précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur
Excel qui est :
ensuite sur VBA je mets ma variable en date et je la fais correspondre à
la
cellule contenant la fonction
Ma question est : Peut-on faire la même chose uniquement en VB
Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa
de me l'expliquer (pour tout ce qui pas forcement logique).
Merci beaucoup de votre aide
je vous laisse vous debrouiller avec la function ci-dessous, dites moi si vous avez quelques difficultes que ce soit. Sub test() Dim Mois_Dernier Mois_Dernier= Format(Now, "mm") - 1 MsgBox Mois_Dernier,vbOKOnly End Sub
Function GetStringDate(Optional WhatType As String)
Dim Mois_Dernier , Todays_Date, Today_Day_No, Todays_Month_Year, Time_Now, Date_Suffix
If Today_Day_No = 1 Or Today_Day_No = 21 Or Today_Day_No = 31 Then Date_Suffix = "st" ElseIf Today_Day_No = 2 Or Today_Day_No = 22 Then Date_Suffix = "nd" ElseIf Today_Day_No = 3 Or Today_Day_No = 23 Then Date_Suffix = "rd" Else Date_Suffix = "th" End If
If WhatType <> "" Then Select Case WhatType Case "DateAndTimeOnly" GetStringDate = Todays_Date & Date_Suffix & "" _ & Todays_Month_Year _ & " at " & Time_Now Case "ExpiryDateOnly" Todays_Date = Format(Now - 1, "ddd, d") ' & ", " & Format(Now, "dd,d") Todays_Month_Year = Format(Now, " mmm yyyy") GetStringDate = Todays_Date & Todays_Month_Year & " " & Time_Now & " GMT" Case Else End Select Else GetStringDate = " This File Was Automatically Generated On: " _ & vbNewLine & "' " _ & Todays_Date & Date_Suffix & "" _ & Todays_Month_Year _ & " at " & Time_Now End If End Function
--
Hope that helps,
Phil
------------------------------------------
IT Analyst SE1, London, UK,
http://uk.geocities.com/philippeoget philippeoget at yahoo dot com
Bonjour, Je commencerai par me présenter, J'utilise au quotidien pour mon travail Excel et VB afin de créer de macro applications. Mes connaissances en la matière s'accroient mais sont limitées
par un manque d'aide direct. Mon post concerne en fait mon problème suivant,
je souhaite disposer d'une variable correspondant au premier jour du mois précédent (ex. : 01/09/2004), pour y parvenir je crées une fonction sur Excel qui est :
ensuite sur VBA je mets ma variable en date et je la fais correspondre à la
cellule contenant la fonction Ma question est : Peut-on faire la même chose uniquement en VB Pour les solutions que vous m'apporteriez (éventuellement) ce serait sympa de me l'expliquer (pour tout ce qui pas forcement logique). Merci beaucoup de votre aide
AV
....premier jour du mois précédent (ex. : 01/09/2004), ÚTE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())-1;1)
..... Peut-on faire la même chose uniquement en VB MsgBox DateSerial(Year(Date), Month(Date) - 1, 1)
AV
....premier jour du mois précédent (ex. : 01/09/2004),
ÚTE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())-1;1)
..... Peut-on faire la même chose uniquement en VB
MsgBox DateSerial(Year(Date), Month(Date) - 1, 1)