Importer des données d'un classeur change de nom toutes les semaines

Le
oliver6
Bonjour,
je souhaite importer des données d'un classeur qui est modifier chaque
matin à 6h00
Ce classeur change de nom chaque semaine (ex: semaine 32: SS32.csv,
semaine 33: SS33.csv)
Peut'on prendre comme référence la date de modification?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Charabeuh
Le #22481681
Bonjour,
deux pistes...
Chercher le fichier de plus grand numéro de semaine dans le répertoire
source.
en VBA, une fonction qui retourne le fichier de plus grande semaine.
Doit fonctionner que les fichiers des semaines 1 à 9 soient
enregistrés en SS01.cvs ou bien SS1.csv

Option Explicit

Public Function Ficher_Semaine() As String
Dim FileName As String, Path As String
Dim Nsem, X

Path = "c:extractSS*.csv"
Nsem = 0
FileName = Dir(Path)

While FileName <> ""
X = InStr(FileName, ".") - 1
X = CInt(Mid(Left(FileName, X), 3, 2))
If X >= Nsem Then
Nsem = X
Ficher_Semaine = FileName
End If
FileName = Dir
Wend

End Function

Utilisation en VBA
Sub test()
MsgBox Ficher_Semaine()
End Sub

ou bien une autre façon par saisie directe de la semaine
(permet de traiter des semaines passées)

Option Explicit

Sub Autrement()
Dim NumSem As Integer, FileName As String
Dim ImportFile As String, Continuer As Boolean

On Error GoTo Autrement_Err_1
Continuer = True
While Continuer
NumSem = Application.InputBox(prompt:="Quelle semaine importer (1 à
53) - 0=FIN ?:", Type:=1)
If NumSem = 0 Then Exit Sub
FileName = "c:extractSS" & NumSem & ".csv"

Select Case NumSem
Case 1 To 9
FileName = "c:extractSS" & NumSem & ".csv"
ImportFile = Dir(FileName)
If ImportFile = "" Then
FileName = "c:extractSS0" & NumSem & ".csv"
ImportFile = Dir(FileName)
End If
If ImportFile = "" Then
MsgBox "Fichier sem " & NumSem & " pas trouvé"
Else
MsgBox "Fichier à importer " & ImportFile
Continuer = False
End If
Case 10 To 53
FileName = "c:extractSS" & NumSem & ".csv"
ImportFile = Dir(FileName)
If ImportFile = "" Then
MsgBox "Fichier sem : " & NumSem & " pas trouvé"
Else
MsgBox "Fichier à importer " & ImportFile
Continuer = False
End If
Case Else
MsgBox "Erreur saisie sem : " & NumSem
End Select
Wend
Exit Sub

Autrement_Err_1:
MsgBox "Ereur non gérée : " & Error(Err)

End Sub


"oliver6" :
Bonjour,
je souhaite importer des données d'un classeur qui est modifier chaque
matin à 6h00
Ce classeur change de nom chaque semaine (ex: semaine 32: SS32.csv,
semaine 33: SS33.csv)
Peut'on prendre comme référence la date de modification?
Publicité
Poster une réponse
Anonyme