Bonjour j'ai remarqué qu'il existait déjà une discussion sur le sujet,mais disons qu'elle est loin de pouvoir m'aider
Voici mon code
Bref l'erreur se situe au niveau de la dernière ligne de code dans la sub ConvertirValeur
Merci
Marie
Voici mon code
Code:
Public Sub importation()
On Error GoTo Err_GetSource
Dim fDialog As FileDialog
Dim varTemp As Variant
Dim strFPath As String
Dim strFPath2 As String
Dim xlBook As Excel.Workbook
Dim xlBook2 As Excel.Workbook
Dim nbfeuille As Integer
Dim nomfeuille As Variant
Application.ScreenUpdating = False '
MsgBox "Sélectionner le fichier plansemxxxxDSR.csv avant celui plansemxxxx.csv"
'Initialisations
strFPath = ""
strFPath2 = ""
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
'Boîte de selection du fichier source
With fDialog
.AllowMultiSelect = False 'Limite la selection à un seul fichier
.Filters.Add "Fichier Excel", "*.csv", 1
.Title = "Choisir un rapport"
.InitialView = msoFileDialogViewDetails
.Show
For Each varTemp In .SelectedItems 'Boucle au cas ou (sécurité)
strFPath = varTemp 'Assigne le chemin complet du ficher selectionné
Next varTemp
End With
Set xlBook = Workbooks.Open(strFPath)
'Boîte de selection du fichier a mettre dedans
With fDialog
.AllowMultiSelect = False 'Limite la selection à un seul fichier
.Filters.Add "Fichier Excel", "*.csv", 1
.Title = "Choisir un rapport"
.InitialView = msoFileDialogViewDetails
.Show
For Each varTemp In .SelectedItems 'Boucle au cas ou (sécurité)
strFPath2 = varTemp 'Assigne le chemin complet du ficher selectionné
Next varTemp
End With
Set xlBook2 = Workbooks.Open(strFPath2)
'Ouvre le fichier source pour traitement futur
If strFPath <> "" And strFPath2 <> "" Then
ConvertirValeur xlBook, xlBook2
Exit_GetSource:
'Libération
Set fDialog = Nothing
Set varTemp = Nothing
strFPath = ""
'Ferme la feuille qui est ouverte dans la variable s'il ya lieu
If Not (xlBook Is Nothing) Then xlBook.Close
Set xlBook = Nothing
End If
Application.ScreenUpdating = True ' permets de voir le processus durant l'exécution
Exit Sub
Err_GetSource:
MsgBox "Une erreur est survenue dans la routine GetSource" & vbCrLf & vbCrLf & "Erreur technique NO : " & Err.Number & " - " & Err.Description & vbCrLf & vbCrLf & "Le traitement a du être interrompu!"
Resume Next 'Exit_GetSource
End Sub
Public Sub ConvertirValeur(ByRef wbcache As Workbook, ByRef wbacces As Workbook)
With wbcache
Columns("A:A").Select
vselect.TextToColumns Destination:=Cells(1, 1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(1, xlGeneralFormat), TrailingMinusNumbers:=True
End With
End Sub
Bref l'erreur se situe au niveau de la dernière ligne de code dans la sub ConvertirValeur
Merci
Marie