Probleme de date
Le
magic-dd

bonjour
dans une procedure permettant de sauvegarder une feuille en donnant le nom =
de la feuille avec la date inscrite dans un inputbox, le probleme est que s=
i je met une date genre 04/09/14, mon onglet va se nommer 09 avril 2014
j'ai bien essayé le cdate mais ça n'a pas l'air de fonctionner
voici le code
Sub CopieFeuille()
If MsgBox("Etes-vous certain de vouloir procéder " & Chr(10) & "à la s=
auvegarde de vos données ?", vbYesNo, "Demande de confirmation") = vbY=
es Then
Else: Exit Sub
End If
'creation de la sauvegarde
Sheets("C160").Select 'selectionne la flotte concernee
nom = InputBox("Inscrire la date de mise à jour au format jj/mm/aa", "D=
ate de mise à jour")
Range("N5").Value = nom 'affichage d'une boite de dialogue pour inscrir=
e la date de mise à jour
[n5] = CDate(n5)
Application.ScreenUpdating = False
Range("a1:S100").Copy 'copie des données de la flotte concernée
Sheets.Add After:=Sheets(Sheets.Count) 'création d'une feuille posi=
tionnée à la fin des autres onglets
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Ski=
pBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'collage des données dans=
cette nouvelle feuille
ActiveSheet.Range("a1").Select
Application.CutCopyMode = False
Range("a1").Select
With ActiveSheet
.Name = "C160 - " & Format(.Range("N5"), "mm dd yyyy") 'renommage de =
la feuille avec la flotte, le mois et l'année sauvegadée
End With
Sheets("Tampon C160").Visible = True
Columns("A:S").Select
Selection.Copy
Sheets("Tampon C160").Select
Columns("A:A").Select
ActiveSheet.Paste
ActiveSheet.Range("a1").Select
Application.CutCopyMode = False
Sheets("Tampon C160").Visible = False
Range("a1").Select
Sheets("C160").Select
Range("N5,B8:E40,H8:i40,L8:M40,N8:O40").Select ' effacement des données d=
e la feuille de l'aéronef concerné
Selection.ClearContents
Application.CutCopyMode = False
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "Vos données mensuelles ont bien été sauvegardées.", , "Conf=
irmation de sauvergarde"
End Sub
dans une procedure permettant de sauvegarder une feuille en donnant le nom =
de la feuille avec la date inscrite dans un inputbox, le probleme est que s=
i je met une date genre 04/09/14, mon onglet va se nommer 09 avril 2014
j'ai bien essayé le cdate mais ça n'a pas l'air de fonctionner
voici le code
Sub CopieFeuille()
If MsgBox("Etes-vous certain de vouloir procéder " & Chr(10) & "à la s=
auvegarde de vos données ?", vbYesNo, "Demande de confirmation") = vbY=
es Then
Else: Exit Sub
End If
'creation de la sauvegarde
Sheets("C160").Select 'selectionne la flotte concernee
nom = InputBox("Inscrire la date de mise à jour au format jj/mm/aa", "D=
ate de mise à jour")
Range("N5").Value = nom 'affichage d'une boite de dialogue pour inscrir=
e la date de mise à jour
[n5] = CDate(n5)
Application.ScreenUpdating = False
Range("a1:S100").Copy 'copie des données de la flotte concernée
Sheets.Add After:=Sheets(Sheets.Count) 'création d'une feuille posi=
tionnée à la fin des autres onglets
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Ski=
pBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'collage des données dans=
cette nouvelle feuille
ActiveSheet.Range("a1").Select
Application.CutCopyMode = False
Range("a1").Select
With ActiveSheet
.Name = "C160 - " & Format(.Range("N5"), "mm dd yyyy") 'renommage de =
la feuille avec la flotte, le mois et l'année sauvegadée
End With
Sheets("Tampon C160").Visible = True
Columns("A:S").Select
Selection.Copy
Sheets("Tampon C160").Select
Columns("A:A").Select
ActiveSheet.Paste
ActiveSheet.Range("a1").Select
Application.CutCopyMode = False
Sheets("Tampon C160").Visible = False
Range("a1").Select
Sheets("C160").Select
Range("N5,B8:E40,H8:i40,L8:M40,N8:O40").Select ' effacement des données d=
e la feuille de l'aéronef concerné
Selection.ClearContents
Application.CutCopyMode = False
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "Vos données mensuelles ont bien été sauvegardées.", , "Conf=
irmation de sauvergarde"
End Sub
il fallait faire
nom = InputBox("Inscrire la date de mise à jour au format jj/mm/aa", "D ate de mise à jour")
Range("N5") = nom 'affichage d'une boite de dialogue pour inscrire la d ate de mise à jour
maj = CDate(nom)
Range("N5") = maj
La manière dont tu saisis la date est dangereuse. Que se passe-t-il si
l'usager entre un mauvais format de date et que la procédure l'accepte?
Je te suggère ceci. Exécute la procédure du module1.
http://cjoint.com/?DItqzMSPpdZ
En effet MichD, ce que tu propose est du professionnel
pour mon cas, est ce qu'il est possible de faire une verif sur l'inputbox, qu'il soit bien au format jj/mm/yy ?
merci
e
http://cjoint.com/?DIttEbJPSja