Bonjour,
Suite à la réalisation d'un petit code VB j'ai un petit soucis, je vous expose mon problème :
Objectif :
Automatiser l'importation de données à partir d'un fichier .wri (gestion de stock) dans un tableau Excel existant.
Le fichier .wri est généré de façon journalière !
Problème:
L'ouverture du fichier ne se fait pas au bon format, en effet après vérification il ouvre le .txt au format "Bloc-Note" et non "Word-Pad" ce qui transforme mes sauts de ligne en petits carrés. La récupération de caractères est donc faussée !
J'ai donc un message d'erreur lors de la compilation de type : Erreur d'execution '13' Incompatibilite de type à la ligne :
date_new_format_date = CDate(date_new_format)
Est-il possible de définir dans mon code le format d'ouverture du fichier ?
Je me suis renseigné il semble que je puisse utiliser quelque chose comme "xlWindows" mais je bloque.
Ci-dessous le début de code avec la partie relative à l'ouverture du fichier :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub ImportNewTxt()
Dim datemvt As String
Dim prodnb As String
Dim ret As String
Dim rec As String
Dim ref_d_a As String
Close #1
Open ("D:\Projet EXCEL_VB_TXT\INVRPT HAMBACH 2010\EUROFIT-FR-INVRPT.wri") For Input As #1 '-------------------------------------------------> ouverture du fichier en lecture
While Not EOF(1) '----------------------------------------------------------------------------------------------> demarrage de la boucle pour lecture du fichier
lign$ = "" '------------------------------------------------------------------------------------------------> initialisation d une variable à ""
Line Input #1, lign$ '--------------------------------------------------------------------------------------> lire une ligne du fichier et passage à la ligne suivante (et affactation dans une variable chaine)
If InStr(1, lign$, "Message-Date :") <> 0 Then '--------------------------------------------------------> test sur la date
datemvt$ = Mid$(lign$, 25, 8) '---------------------------------------------------------------------> extraction de la date
date_new_format = Mid$(datemvt$, 1, 2) & "/" & Mid$(datemvt$, 4, 2) & "/20" & Mid$(datemvt$, 7, 2) '> changement du format d'import de la date
date_new_format_date = CDate(date_new_format)
Columns("B:B").Select '-----------------------------------------------------------------------------> formule pour selectionner la bonne ligne dans la colonne date en fonction de la date du fichier .txt
With Selection.Find(date_new_format_date).Activate
End With
ad_date = ActiveCell.Address
End If |
Merci,
Partager