bonjour
j'ai déjà débatu sur ce sujet
il m'est tres difficile de bien interpréter des dates venant d'un fichiers CSV ouvert via un module VBA dans EXCEL. parfois le 12 mai est reconnu come 5 dec parfois comme 12 mai (12/05<>05/12)
le procédure ci-dessous est ok dès la seconde utilisation après ouverture du fichier principal mais pas d'emblé !
celui qui pourra m'orienté sera un SUPER CHEF !
(la solution détournée que je vois consite à utiliser du texte au lieu des dates exemple AAAAMMJJ en format texte mais pas terrible)
Merci
voici le code
piste : des fois l'import se fait dans la première étape des fois à la seconde !!
j'ai déjà débatu sur ce sujet
il m'est tres difficile de bien interpréter des dates venant d'un fichiers CSV ouvert via un module VBA dans EXCEL. parfois le 12 mai est reconnu come 5 dec parfois comme 12 mai (12/05<>05/12)
le procédure ci-dessous est ok dès la seconde utilisation après ouverture du fichier principal mais pas d'emblé !
celui qui pourra m'orienté sera un SUPER CHEF !
(la solution détournée que je vois consite à utiliser du texte au lieu des dates exemple AAAAMMJJ en format texte mais pas terrible)
Merci
voici le code
Code:
Sub OuvrirCSV()
Dim DialOuvr As FileDialog, Rep, Chemin As String
'Windows("REPORTING_PARC.xls").Activate
Sheets("PARC").Select
Set DialOuvr = Application.FileDialog(msoFileDialogOpen)
DialOuvr.Filters.Clear
DialOuvr.Filters.Add "Fichiers CSV", "*.csv", 1
DialOuvr.AllowMultiSelect = False
DialOuvr.Title = "Ouverture du fichier CSV"
DialOuvr.InitialView = msoFileDialogViewList
'DialOuvr.InitialFileName = "C:\Mes Fichiers CSV\"
Rep = DialOuvr.Show
If Rep = 0 Then
MsgBox "Opération annulée"
Exit Sub
End If
Chemin = DialOuvr.SelectedItems(1)
'-----------------------
' etape1
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Chemin, Destination:=Range("A1"))
.Name = "test"
.AdjustColumnWidth = False
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
.TextFileCommaDelimiter = False
.TextFileSemicolonDelimiter = True
End With
'-------
' etape2
Sheets("PARC").Select
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Columns("B:B").NumberFormat = "0"
End Sub
piste : des fois l'import se fait dans la première étape des fois à la seconde !!