totonino
Messages postés2Date d'inscriptionlundi 28 janvier 2008StatutMembreDernière intervention23 février 2011
-
22 févr. 2011 à 18:48
totonino
Messages postés2Date d'inscriptionlundi 28 janvier 2008StatutMembreDernière intervention23 février 2011
-
23 févr. 2011 à 09:46
Bonjour,
Je suis débutant en VB et je code actuellement une macro sous Excel 2003 qui doit convertir un fichier xls en csv.
Dans ce fichier, je dois rajouter une colonne dont les données sont injectées par une macro.
Ces données sont la concaténation d'un champs texte d'une userForm de ma macro et d'une colonne de mon fichier xls.
Format du fichier xls
Colonne A :
A;A;A;A;A;A
B;B;B;B;B
C;C;C;C;C;C
....
Le reste des colonnes est vide. Le passage en csv me permet d'avoir les données dans plusieurs colonnes.
Mon problème, est que lorsque j'ajoute mes données dans une cellule sous format csv, elles sont toutes précédées d'une virgule.
Pouvez-vous m'aider afin d'éviter la présence de ma virgule?
Merci d'avance
Voici mon code
'*******************************************************************************
'* Fonction : btn_parcourir_Click *
'* Paramètre : aucun *
'* Cette fonction permet d'aller chercher un fichier xls dans un répertoire *
'*******************************************************************************
Private Sub btn_parcourir_Click()
On Error Resume Next
cleanAll
fileExcel = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
tbx_parcourir.Text = fileExcel
If Err.Number > 0 Then
Call procErrmsg(Err.Number, Err.Description)
End If
End Sub
'********************************************************************************************************************
'* Fonction : convertFile *
'* Paramètre : aucun *
'* Cette fonction convertit un fichier xls en csv. Elle ajoute également le chemin complet de chaque pièce jointe *
'********************************************************************************************************************
Private Sub convertFile()
Dim fileExcelName
Dim lenFileExcel As Integer
On Error Resume Next
Workbooks.Open Filename:=fileExcel
addLink
lenFileExcel = Len(fileExcel) - 3
fileExcelName = Left(fileExcel, lenFileExcel) & "csv"
ActiveWorkbook.SaveAs Filename:=fileExcelName, FileFormat:=xlCSV, CreateBackup:=False, local:=True
ActiveWorkbook.Close
If lang = "FR" Then
lbl_traitement.Caption = "Opération terminée!"
Else
lbl_traitement.Caption = "Finished!"
End If
btn_clear.Enabled = True
btn_clear.Locked = True
If Err.Number > 0 Then
Call procErrmsg(Err.Number, Err.Description)
End If
End Sub
'****************************************************
'* Fonction : addLink *
'* Paramètre : aucun *
'* Créer le chemin complet de chaque pièce jointe *
'****************************************************
Private Sub addLink()
Dim line As String
Dim cptRow As Integer
Dim cptCol As Integer
Dim arrayDir
On Error Resume Next
cptCol = 1
cptRow = 2
If Not Right(tbx_way.Text, 1) = "" Then
tbx_way.Text = tbx_way.Text & ""
End If
While Not IsEmpty(Cells(1, cptCol))
cptCol = cptCol + 1
Wend
If lang = "FR" Then
Cells(1, cptCol).Value = "Liens"
Else
Cells(1, cptCol).Value = "Link"
End If
While Not IsEmpty(Cells(cptRow, 1))
arrayDir = Split(Cells(cptRow, 1).Value, ";")
line = tbx_way.Text & arrayDir(13) & ""
ActiveSheet.Hyperlinks.Add Anchor:=Cells(cptRow, cptCol), Address:=line, TextToDisplay:=line
cptRow = cptRow + 1
Wend
If Err.Number > 0 Then
Call procErrmsg(Err.Number, Err.Description)
End If
End Sub