bonjour au forum
Je reviens sur un travail pour lequel j'ai déjà été pas mal aidé mais j'ai un dernier souci:
je souhaite enregistrer un fichier automatiquement suite à la saisie d'une date dans une inputbox
le souci est que si j'impose un format sans / (non accepté dans les noms de fichiers) alors je ne peux pas utiliser la date saisie pour lancer une recherche dans plusieurs fichiers et recopier le contenu dépendant de la date
J'ai tenté de nombreuses possibilités proposées par Epaf mais je n'arrive pas à obtenir d'avoir le ficihier sauvegardé au nom de la date et le fait de trouver la date dans les fichiers (je joins mon code actuel qui fonctionne pour la recherche de la date (qui est au format personnalisé "jj/mm/aaaa" dans les fichiers) mais me propse à la fin d'enregistrer un fichier qui s'appelle par defaut classeur1.xls
J'ai essayé d'imposer un format pour le nom du fichier à sauvegarder mais à ce moment-là excel ne reconnait plus la date pour la recherche
sub test
Dim Plage As Range
Dim Cellule As Range
Do While Not IsDate(question)
1 On Error Resume Next
question = InputBox("Merci de saisir la date souhaitée au format jj/mm/aaaa", "", , 1000, 3000)
If question = "" Then
Application.DisplayAlerts = False
Application.Quit
Exit Sub
End If
question = CDate(question)
If Year(question) < 2006 Or Year(question) > 2020 Then GoTo 1
Loop
'sauvegarde du fichier
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="c:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
MonNom = ActiveWorkbook.Name
ChDir "c:\"
Workbooks.Open Filename:= _
"c:\bureau1.xls"
Workbooks.Open Filename:="c:\bureau1.xls"
Set Plage = Workbooks("bureau1.xls").Sheets("Feuil1").Range(Cells(2, 2), Cells(2, 256))
For Each Cellule In Plage
If Cellule.Value = question Then
Cellule.Activate
ActiveCell.Offset(1, n).Range("A1:A18").Select
Selection.Copy
Workbooks(MonNom).Activate
Range("b3").Select
Selection.PasteSpecial Paste:=xlAll
End If
Next
end sub
Merci
Je reviens sur un travail pour lequel j'ai déjà été pas mal aidé mais j'ai un dernier souci:
je souhaite enregistrer un fichier automatiquement suite à la saisie d'une date dans une inputbox
le souci est que si j'impose un format sans / (non accepté dans les noms de fichiers) alors je ne peux pas utiliser la date saisie pour lancer une recherche dans plusieurs fichiers et recopier le contenu dépendant de la date
J'ai tenté de nombreuses possibilités proposées par Epaf mais je n'arrive pas à obtenir d'avoir le ficihier sauvegardé au nom de la date et le fait de trouver la date dans les fichiers (je joins mon code actuel qui fonctionne pour la recherche de la date (qui est au format personnalisé "jj/mm/aaaa" dans les fichiers) mais me propse à la fin d'enregistrer un fichier qui s'appelle par defaut classeur1.xls
J'ai essayé d'imposer un format pour le nom du fichier à sauvegarder mais à ce moment-là excel ne reconnait plus la date pour la recherche
sub test
Dim Plage As Range
Dim Cellule As Range
Do While Not IsDate(question)
1 On Error Resume Next
question = InputBox("Merci de saisir la date souhaitée au format jj/mm/aaaa", "", , 1000, 3000)
If question = "" Then
Application.DisplayAlerts = False
Application.Quit
Exit Sub
End If
question = CDate(question)
If Year(question) < 2006 Or Year(question) > 2020 Then GoTo 1
Loop
'sauvegarde du fichier
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="c:\" & question, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
MonNom = ActiveWorkbook.Name
ChDir "c:\"
Workbooks.Open Filename:= _
"c:\bureau1.xls"
Workbooks.Open Filename:="c:\bureau1.xls"
Set Plage = Workbooks("bureau1.xls").Sheets("Feuil1").Range(Cells(2, 2), Cells(2, 256))
For Each Cellule In Plage
If Cellule.Value = question Then
Cellule.Activate
ActiveCell.Offset(1, n).Range("A1:A18").Select
Selection.Copy
Workbooks(MonNom).Activate
Range("b3").Select
Selection.PasteSpecial Paste:=xlAll
End If
Next
end sub
Merci