Bonjour,
je débute en vba et doit réaliser un script me permettant de :
- créer un nouveau fichier xls
- l' ouvrir
- ouvrir un fichier csv avec excel
- récupérer des données du fichier csv afin de les copier dans le fichier xls.
Des postes similaires sont sur le forum mais aucun ne répond à mon bogue.
Voici ce que j'ai fait pour l'instant :
code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
Sub OUT_DRCOM_TO_BNC()
'definition variable
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim num_opt As String
Dim DernLigne As Long
Dim i As Integer
Dim j As Integer
'On créer l'objet Excel
Set xlApp = CreateObject("Excel.Application")
'On défini le nombre d'onglets
xlApp.SheetsInNewWorkbook = 1
'On ajoute un classeur
Set xlBook = xlApp.Workbooks.Add
'On donne un nom au classeur
xlBook.SaveAs ("C:\Users\jmoniot\Desktop\monfichier1.xls")
'On rend le classeur visible
xlApp.Visible = True
'On créer l'objet onglet dans le nouveau classeur créé
Set xlSheet = xlBook.Worksheets(1)
'On affecte un nom a l'onglets
xlSheet.Name = 1
'On remet la propriété de l'application à 3 (par défaut)
xlApp.SheetsInNewWorkbook = 3
'On définit le numéro $$$ qui ne change pas
$$$ = "confid_number"
'Définition du titre des colonnes
xlSheet.Range("A1").Value = "Identité"
xlSheet.Range("B1").Value = "Nom"
xlSheet.Range("C1").Value = "Prénom"
xlSheet.Range("D1").Value = "CLEBDF"
xlSheet.Range("E1").Value = "Ridet"
xlSheet.Range("F1").Value = "AD1"
xlSheet.Range("G1").Value = "AD2"
xlSheet.Range("H1").Value = "AD3"
xlSheet.Range("I1").Value = "AD4"
xlSheet.Range("J1").Value = "1er compte ouvert"
xlSheet.Range("K1").Value = "2eme compte ouvert"
xlSheet.Range("L1").Value = "3eme compte ouvert"
xlSheet.Columns("A:L").ColumnWidth = 20
Workbooks.Open Filename:="C:\Users\jmoniot\Desktop\aaa\ZProjet\monfichier.csv", Local:=True
DernRow = Range("B" & Rows.Count).End(xlUp).Row
MsgBox (DernRow)
Avant_dern_row = DernRow - 1
MsgBox (Avant_dern_row)
'Workbooks("monfichier.csv").Sheets(1).Range ("B2:" & Cells(Rows.Count, "B").End(xlUp).Row - 1)
'Workbooks("monfichier1.xls").Sheets(1).Rows ("2:65536")
For i = 2 To Avant_dern_row
Workbooks("monfichier1.xls").Sheets(1).Cells("A" & i).Value = Workbooks("monfichier.csv").Sheets(1).Cells("B" & i).Value
Next
End Sub |
Le débogueur m'indique erreur d'exécution 5 sur cette ligne :
Workbooks("monfichier1.xls").Sheets(1).Cells("A" & i).Value = Workbooks("monfichier.csv").Sheets(1).Cells("B" & i).Value
ça fait 1 jour que je bloque dessus
.
Merci d'avance pour votre aide qui sera sans aucun doute, d'une aide précieuse.
Cordialement, Jordan.
Partager