Nom de fichier stocké dans une variable
Résolu
Brasiligun
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
Brasiligun Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
Brasiligun Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
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