Date et VBA [Résolu/Fermé]

Signaler
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
-
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
-
Bonsoir à tous,
Je suis en train d'écrire un programme sous VBA. J'ai réussi à créer ce dont j'avais besoin pour l'instant mais j'ai un problème avec la date...En effet quand je veux qu'elle soit sous le format "Jeudi 16 octobre 2014", il m'affiche 16/10/2014, je sollicite votre aide car j'ai cherché, faits des essais mais cela ne marche pas :( .

Je vous mets le lien du fichier : http://www.cjoint.com/c/GEztaIeFxdC

Merci de votre aide & bonne soirée

5 réponses

Messages postés
12709
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704
bonsoir, suggestion:
Option Explicit
Private Sub Auto_Open()
Dim Datejour As String
Dim jourdate As Date
'SŽlectionner la case
    Range("N1:S1").Select
' Ajouter la date
    Datejour = InputBox("Date dŽbut souhaitŽe", "Date")
    If IsDate(Datejour) Then
        jourdate = Datejour
    Else
        jourdate = 0
    End If
    Range("N1:S1") = jourdate
'Voir sur un forum pour le pb de date

Selection.NumberFormat = "[$-F800]jjjj, mmmm jj, aaaa"

'Pour enregistrer, faire une nouvelle macro

End Sub
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 196
Bonjour,

Il me semble que ton code fonctionne mais
- il faudrait vérifier que la saisie est bien une date (isdate)
- utiliser Cdate pour valoriser ta cellule sinon le 5/12 se transforme en 12/5
C'est bien NumberFormat qui met le format souhaité.
Messages postés
17270
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
4 297
Bonsoir

Private Sub Auto_Open()
Dim Datejour As String
' Ajouter la date
Datejour = InputBox("Date dŽbut souhaitŽe", "Date", "mois/jour/année")
Range("N1") = Datejour
'Voir sur un forum pour le pb de date
Range("N1").NumberFormat = "dd mmmm yyyy"
End Sub


dans l'inputbox saisir le mois/le jour/l'année
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
39
Merci pour vos messages...ça marche :)

Bonne soirée
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
39
J'ai encore besoin de votre aide...j'essaie d'ajouter un jour supplémentaire mais je n'arrive pas...malgré les recherches...des essais avec la fonction dateadd . Quand j'ai rentré la fonction après avoir programmé la duplication de la feuille, celui-ci laisse la case vide après le lancement de la macro.

Merci encore pour votre aide & bonne soirée

P.S Voici l'adresse du lien : http://www.cjoint.com/c/GEAuMyD4Ejj
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
39 >
Messages postés
12709
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020

ça marche, je te remercie :)
j'ai une dernière question. J'essaie de dupliquer le nombre de colonnes pour qu'ils correspondent aux jours d'un mois. j'ai réussi à trouver la formule qui permet de dupliquer mais elle duplique juste sans ajouter de jours en plus (je suppose qu'il existe une formule exprès dont j'ignore le code...) et existe-il une formule qui permet de mettre un nom à la suite (j'ai bien réussi à renommer la 2ème page mais le reste s'appelle Position 1, Position 2)...pour que ce soit 2,3,4....

Je te mets le code :

Private Sub Auto_Open()
Dim Datejour As String
Dim jourdate As Date
Dim i, z
'Sélectionner la case
Range("N1:S1").Select
' Ajouter la date
Datejour = InputBox("Date début souhaitée", "Date")
If IsDate(Datejour) Then
jourdate = Datejour
Else
jourdate = 0
End If
Range("N1:S1") = jourdate
Sheets("Vierge").Select
Sheets("Vierge").Copy after:=Sheets(1)
Sheets("Vierge (2)").Select
Sheets("Vierge (2)").Name = "2"
'Additionner la date
Range("N1:S1") = jourdate + 1
'Combien de jours
z = InputBox("Nombre de jours souhaités ", "Jours")
For i = 1 To z
Sheets("Vierge").Copy after:=Sheets(2)
ActiveSheet.Name = "Position " & i
Next i

End Sub

-----------
Merci pour ton aide

Bon après-midi

Macij
Messages postés
12709
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704 >
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020

si j'ai bien compris, ceci devrais faire ce que tu souhaites:
Option Explicit
Private Sub Auto_Open()
Dim Datejour As String
Dim jourdate As Date
Dim i As Long, z As Long
'Sélectionner la case
Range("N1:S1").Select
' Ajouter la date
Datejour = InputBox("Date début souhaitée", "Date")
If IsDate(Datejour) Then
jourdate = Datejour
Else
jourdate = 0
End If
Range("N1:S1") = jourdate

'Combien de jours
z = InputBox("Nombre de jours souhaités ", "Jours")
For i = 1 To z
     Sheets("Vierge").Copy after:=Sheets(Sheets.Count)
     ActiveSheet.Name = i
     Range("N1:S1") = jourdate + i
Next i

End Sub

SI tu veux simplement faire une feuille par mois, ceci devrait fonctionner:
Option Explicit
Private Sub Auto_Open()
Dim Datejour As String
Dim jourdate As Date
Dim nmois As Integer
' Demander la date
Datejour = InputBox("Un jour du mois souhaité", "Date")
If IsDate(Datejour) Then
    jourdate = Datejour
Else
    jourdate = 0
End If
nmois = Month(jourdate)
jourdate = DateSerial(Year(jourdate), nmois, 1)
Sheets("Vierge").Range("N1:S1") = jourdate
Do While Month(jourdate) = nmois
     Sheets("Vierge").Copy after:=Sheets(Sheets.Count)
     ActiveSheet.Name = Day(jourdate)
     Range("N1:S1") = jourdate
     jourdate = jourdate + 1
Loop
End Sub
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
39
super :) ça marche. Merci beaucoup :)
A tout hasard, tu ne connais pas un site ou un livre à me conseiller sur VBA ?

Merci encore & bonne soirée
Messages postés
12709
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704
je ne peux pas te conseiller un site ou un livre, j'ai appris petit à petit en travaillant (j'avais déjà de bonnes bases dans d'autres langages, cela aide beaucoup)
avec plaisir, et bonne soirée.
Messages postés
1126
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
23 juillet 2020
39 >
Messages postés
12709
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020

D'accord. Merci pour ta réponse :)