Nom de fichier stocké dans une variable
Résolu
Brasiligun
Messages postés
131
Statut
Membre
-
Brasiligun Messages postés 131 Statut Membre -
Brasiligun Messages postés 131 Statut Membre -
Bonjour à tous!
Je suis sur un petit problème depuis un moment, et je pense vraiment systématiquement passer à coté de mon erreur
Je souhaite copier les informations d'une feuille excel, qui est créée tous les jours, et qui est ensuite rangée de façon systématique du type: ANNEE/MOIS/JOURS
Pour cibler la feuille qui m’intéresse et que je veux copier dans un classeur, j'ai mis en place un système qui me demande te taper le jour de la feuille concernée (pour l'exemple le 13 02 2017 -> 13022017)
Je veux donc copier la feuille ciblé qui est nommée par cette date 13022017, dans mon classeur ES.xslm
Et mon erreur vient surement mon inputbox qui est censée récupérer le nom de mon fichier, car si je passe en "mode bourrin" c'est à dire en bloquant l'adresse d'un fichier (que je triche et du coup, je fixe la date)
feuille = "D:\fichiers\2017\Février\Liste 13022017.xlsx"
La j'arrive plus ou moins à ce que je souhaite, mais le programme n'est donc plus polyvalent
Avez-vous une idée de mon erreur?
Pour résumé, je veux copier une feuille qui est nommée par une date, dans mon classeur ES.xslm en tapant la date du fichier concerné
Voiçi le code:
https://www.cjoint.com/c/HGtnRCw3qI2
ou
Un grand merci!
Je suis sur un petit problème depuis un moment, et je pense vraiment systématiquement passer à coté de mon erreur
Je souhaite copier les informations d'une feuille excel, qui est créée tous les jours, et qui est ensuite rangée de façon systématique du type: ANNEE/MOIS/JOURS
Pour cibler la feuille qui m’intéresse et que je veux copier dans un classeur, j'ai mis en place un système qui me demande te taper le jour de la feuille concernée (pour l'exemple le 13 02 2017 -> 13022017)
Je veux donc copier la feuille ciblé qui est nommée par cette date 13022017, dans mon classeur ES.xslm
Et mon erreur vient surement mon inputbox qui est censée récupérer le nom de mon fichier, car si je passe en "mode bourrin" c'est à dire en bloquant l'adresse d'un fichier (que je triche et du coup, je fixe la date)
feuille = "D:\fichiers\2017\Février\Liste 13022017.xlsx"
La j'arrive plus ou moins à ce que je souhaite, mais le programme n'est donc plus polyvalent
Avez-vous une idée de mon erreur?
Pour résumé, je veux copier une feuille qui est nommée par une date, dans mon classeur ES.xslm en tapant la date du fichier concerné
Voiçi le code:
https://www.cjoint.com/c/HGtnRCw3qI2
ou
Sub choixdate()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim resultat As String
Dim nom As String
Dim m As String
encore:
resultat = InputBox("Quelle est la date souhaitée ?" & Chr(10) & "Format XX/XX/XXXX", "Renseignement date") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
If Len(resultat) <> 10 Then
MsgBox "Erreur de format"
GoTo encore
End If
Worksheets("Equipe dém").Range("B1") = resultat
End If
nom = Left(resultat, 2) & Mid(resultat, 4, 2) & Right(resultat, 4)
Worksheets("Equipe dém").Range("c1") = nom
If Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "01" Then
m = "Janvier"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "02" Then
m = "Février"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "03" Then
m = "Mars"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "04" Then
m = "Avril"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "05" Then
m = "Mai"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "06" Then
m = "Juin"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "07" Then
m = "Juillet"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "08" Then
m = "Aout"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "09" Then
m = "Septembre"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "10" Then
m = "Octobre"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "11" Then
m = "Novembre"
ElseIf Mid(Worksheets("Equipe dém").Range("B1"), 4, 2) = "12" Then
m = "Décembre"
End If
Worksheets("Equipe dém").Range("f1") = m
Dim titre As Variant
Dim annee As String
Dim feuille As String
'Dim titre As String
titre = "Liste des 4H " & nom & ".xlsx"
Worksheets("Equipe dém").Range("d1") = titre
annee = Right(nom, 4)
Worksheets("Equipe dém").Range("e1") = annee
'feuille = "D:\fichiers\" & annee & "\" & m & "\" & titre
feuille = "D:\fichiers\2017\Février\Liste 13022017.xlsx" 'chemin a la bourin
'''''''code qui marche
' Sheets("Equipe").Select
' Cells.Select
' Selection.Copy
' Workbooks("ES.xlsm").Sheets.Add(After:=Worksheets(Worksheets.Count)).Select
' Range("A1").Select
' ActiveSheet.Paste
' ActiveSheet.Name = Workbooks("ES.xlsm").Worksheets("Equipe dém").Cells(1, 3)
Workbooks.Open Filename:=feuille
Sheets("Liste").Select
Range("A1:X300").Select
Selection.Copy
Windows("ES.xlsm").Activate
Workbooks("ES.xlsm").Sheets.Add(After:=Worksheets(Worksheets.Count)).Select
Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Name = Workbooks("ES.xlsm").Worksheets("Equipe dém").Cells(1, 3)
End Sub
Un grand merci!
A voir également:
- Nom de fichier stocké dans une variable
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
Bonjour,
Teste donc ça
Teste donc ça
Sub choixdate()
Dim titre As Variant
Dim annee As String
Dim feuille As String
Dim sh As Worksheet
Dim resultat As String
Dim nom As String
Dim mois As String
Dim m As String
Dim y As String
Dim d As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set sh = Worksheet("Equipe dém")
encore:
resultat = InputBox("Quelle est la date souhaitée ?" & Chr(10) & "Format XX/XX/XXXX", "Renseignement date") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
If Len(resultat) <> 10 Then
MsgBox "Erreur de format"
GoTo encore
End If
sh.Range("B1") = resultat
End If
'On explose la chaine en array
arrDate = Split(resultat, "/")
d = arrDate(0) 'jour
m = arrDate(1) 'mois
y = arrDate(2) 'année
mois = MonthName(m)
nom = d & m & y
sh.Range("c1") = nom
sh.Range("f1") = mois
titre = "Liste des 4H " & nom & ".xlsx"
sh.Range("d1") = titre
sh.Range("e1") = y
feuille = "D:\fichiers\" & y & "\" & mois & "\" & titre
MsgBox feuille
'
'Workbooks.Open Filename:=feuille
'Sheets("Liste").Select
'Range("A1:X300").Select
'Selection.Copy
'Windows("ES.xlsm").Activate
'Workbooks("ES.xlsm").Sheets.Add(After:=Worksheets(Worksheets.Count)).Select
'Range("A1").Select
'ActiveSheet.Paste
'ActiveSheet.Name = Workbooks("ES.xlsm").Worksheets("Equipe dém").Cells(1, 3)
End Sub
Encore merci