AlCapone
XLDnaute Nouveau
Bonjour,
Nouveau petit problème sur macro. Je souhaiterai nommer le fichier texte que j'enregistre depuis une feuille excel via la macro ci-dessous mais en concaténant le nom de la feuille avec la valeur d'une cellule.
Cette macro récupérée sur un forum et adaptée, fonctionne nickel mais je n'arrive pas y inclure la fonction.
J'ai essayé : Fichier = "ImportFourn_Clt"&"Range("c6")&".txt"
Mais visiblement j'ai dû loupé un épisode et surtout pas encore commencé ma formation VBA.
Dim fs As Object, a As Object
Dim Chemin As String, Fichier As String
Dim var1 As String
Const sep As String = vbTab
Application.ScreenUpdating = False
Chemin = "u:\A - xxxxx\xxxxxxx\xxxxxx"
Fichier = "ImportFourn_Clt.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Chemin & "\" & Fichier, True)
With Worksheets("Fichier d'import")
For x = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(x, 14) <> 0 Or .Cells(x, 15) <> 0 Then
For Y = 1 To 15
var1 = var1 & sep & .Cells(x, Y)
Next Y
a.WriteLine Right(var1, Len(var1) - 1): var1 = vbNullString
End If
Next x
a.Close
End With
Set a = Nothing: Set fs = Nothing
Vous remerciant de vos lumières,
AlCapone
Nouveau petit problème sur macro. Je souhaiterai nommer le fichier texte que j'enregistre depuis une feuille excel via la macro ci-dessous mais en concaténant le nom de la feuille avec la valeur d'une cellule.
Cette macro récupérée sur un forum et adaptée, fonctionne nickel mais je n'arrive pas y inclure la fonction.
J'ai essayé : Fichier = "ImportFourn_Clt"&"Range("c6")&".txt"
Mais visiblement j'ai dû loupé un épisode et surtout pas encore commencé ma formation VBA.
Dim fs As Object, a As Object
Dim Chemin As String, Fichier As String
Dim var1 As String
Const sep As String = vbTab
Application.ScreenUpdating = False
Chemin = "u:\A - xxxxx\xxxxxxx\xxxxxx"
Fichier = "ImportFourn_Clt.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Chemin & "\" & Fichier, True)
With Worksheets("Fichier d'import")
For x = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(x, 14) <> 0 Or .Cells(x, 15) <> 0 Then
For Y = 1 To 15
var1 = var1 & sep & .Cells(x, Y)
Next Y
a.WriteLine Right(var1, Len(var1) - 1): var1 = vbNullString
End If
Next x
a.Close
End With
Set a = Nothing: Set fs = Nothing
Vous remerciant de vos lumières,
AlCapone