Fonction date
Fermé
Tiestof
-
7 avril 2011 à 10:00
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 8 avril 2011 à 09:54
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 8 avril 2011 à 09:54
A voir également:
- Fonction date
- Fonction si avec date ✓ - Forum Excel
- Iphone 14 date de sortie - Guide
- Fonction si et - Guide
- Whatsapp date incorrecte ✓ - Forum Mobile
- Publipostage date en anglais ✓ - Forum Excel
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
Modifié par pijaku le 7/04/2011 à 11:17
Modifié par pijaku le 7/04/2011 à 11:17
Salut,
Je n'ai pas pu tester dans l'état car sous 2003 : 06/04/2011 n'est pas accepté...
Comme ceci :
ouvre le fichier correspondant à la date inscrite en A1
test possible :
Franck P
Je n'ai pas pu tester dans l'état car sous 2003 : 06/04/2011 n'est pas accepté...
Comme ceci :
ouvre le fichier correspondant à la date inscrite en A1
Sub ouvre()
Dim chemin As String
Dim ChoixDate As Date
ChoixDate = CDate(Range("A1").Value) 'A1 à adapter.
chemin = "G:\JOBS QUOTIDIENS\1 ANNEE " & Year(ChoixDate) & "\" & Format(ChoixDate, "mmmmyy") & "\" & Format(ChoixDate, "dd.mm") & "\Zbub" & Format(ChoixDate, "dd/mm/yyyy") & ".xlsx"
If Dir(chemin) <> "" Then
Workbooks.Open Filename:=chemin
Else
MsgBox "Le fichier n'existe pas."
End If
End Sub
test possible :
Sub tester()
Dim test As String
Dim ChoixDate As Date
ChoixDate = CDate(Range("A1").Value)
test = Year(ChoixDate)
MsgBox test
test = Format(ChoixDate, "mmmmyy")
MsgBox test
test = Format(ChoixDate, "dd.mm")
MsgBox test
test = Format(ChoixDate, "dd/mm/yyyy")
MsgBox test
End Sub
Franck P
Merci pour votre réponse "pijaku"
Cela fonctionne correctement.
Je voudrais savoir par contre si je peux programmer ma macro pour fonctionner que si le fichier n'est pas ouvert, "pour éviter d'exécuter la macro plusieurs fois", Autrement dit si le fichier est déja ouvert msgbox "le fichier est ouvert" si nn executer la Macro.
Merci
Cela fonctionne correctement.
Je voudrais savoir par contre si je peux programmer ma macro pour fonctionner que si le fichier n'est pas ouvert, "pour éviter d'exécuter la macro plusieurs fois", Autrement dit si le fichier est déja ouvert msgbox "le fichier est ouvert" si nn executer la Macro.
Merci
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
7 avril 2011 à 15:47
7 avril 2011 à 15:47
Suffit d'y ajouter un test :
Sub ouvre()
Dim Classeur As Workbook
Dim chemin As String
Dim ChoixDate As Date
ChoixDate = CDate(Range("A1").Value) 'A1 à adapter.
chemin = "G:\JOBS QUOTIDIENS\1 ANNEE " & Year(ChoixDate) & "\" & Format(ChoixDate, "mmmmyy") & "\" & Format(ChoixDate, "dd.mm") & "\Zbub" & Format(ChoixDate, "dd/mm/yyyy") & ".xlsx"
If Dir(chemin) <> "" Then
For Each Classeur In Application.Workbooks
If Classeur.Path & "\" & Classeur.Name = chemin Then
MsgBox "Classeur déjà ouvert"
Exit Sub
End If
Next
Workbooks.Open Filename:=chemin
Else
MsgBox "Le fichier n'existe pas."
End If
End Sub
Tou fonctionne bien,
Sauf que dans mes macro il y a une recherche v, est je n'arrive pas à lui dire de rechercher dans le fichier qui contient la date du jour, j'ai ecrit le code suivant , mais cela marche que pour aujourd'hui, je voudrais donc le programmé pour prendre la date du jour pour le fichier dont il va effectuer sa recherche v. voici le code que j'ai saisi
Windows("zrem" & Format(Range("a1"), "ddmmyyyy") & ".xlsx").Activate
Range("H3").Select
range("g3").FormulaR1C1 = _
"=VLOOKUP(RC[-5],'[zrem07042011.xlsx]test zrem'!R3C4:R8000C25,21,FALSE)"
Range("H3").Select
Selection.AutoFill Destination:=Range("H3:H2533")
Range("H3:H2533").Select
End Sub
Merci pour votre aide.
Sauf que dans mes macro il y a une recherche v, est je n'arrive pas à lui dire de rechercher dans le fichier qui contient la date du jour, j'ai ecrit le code suivant , mais cela marche que pour aujourd'hui, je voudrais donc le programmé pour prendre la date du jour pour le fichier dont il va effectuer sa recherche v. voici le code que j'ai saisi
Windows("zrem" & Format(Range("a1"), "ddmmyyyy") & ".xlsx").Activate
Range("H3").Select
range("g3").FormulaR1C1 = _
"=VLOOKUP(RC[-5],'[zrem07042011.xlsx]test zrem'!R3C4:R8000C25,21,FALSE)"
Range("H3").Select
Selection.AutoFill Destination:=Range("H3:H2533")
Range("H3:H2533").Select
End Sub
Merci pour votre aide.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
8 avril 2011 à 08:52
8 avril 2011 à 08:52
salut,
je voudrais donc le programmé pour prendre la date du jour pour le fichier dont il va effectuer sa recherche v. ===> j'ai rien compris........
je voudrais donc le programmé pour prendre la date du jour pour le fichier dont il va effectuer sa recherche v. ===> j'ai rien compris........
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait je voulais dire,
Sur le code suivant, comment remplacer "zbud08042011.xlsx" par zbud('date du jour qui est renseigné dans la cellule a1')
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3],[zbud08042011.xlsx]testzbud!R3C3:R8000C11,9,FALSE)"
Range("G3").Select
Selection.AutoFill Destination:=Range("G3:G2533")
Range("G3:G2533").Select
Merci.
Sur le code suivant, comment remplacer "zbud08042011.xlsx" par zbud('date du jour qui est renseigné dans la cellule a1')
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3],[zbud08042011.xlsx]testzbud!R3C3:R8000C11,9,FALSE)"
Range("G3").Select
Selection.AutoFill Destination:=Range("G3:G2533")
Range("G3:G2533").Select
Merci.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
8 avril 2011 à 09:54
8 avril 2011 à 09:54
Ah! J'aime pas les formules dans VBA!!! et encore moins les VLOOKUP! Essaye ceci :
Dim NomClas As String
Dim ChoixDate As Date
ChoixDate = CDate(Range("A1").Value)
NomClas = "[zbud" & ChoixDate & ".xlsx]"
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3], & NomClas & testzbud!R3C3:R8000C11,9,FALSE)"