Macro indisponible

Bonjour,

Je n'arrive pas à faire fonctionner la macro suivante, impossible de l'éxecuter et je ne sais pas d'où vient le soucis : la feuille contenant la macro focntionne en elle-même mais dès que je l'intègre à un classeur la macro ne veux plus se lancer, le but étant d'exporter des données dans un fichier XLCSV.

Function GetSaveFilename() As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim varResult As Variant
Dim ActBook As Workbook

targetFileName = Application.ActiveWorkbook.Path & "\" & fso.GetBaseName(ActiveWorkbook.Name) & ".csv"
varResult = Application.GetSaveAsFilename(FileFilter:="CSV (*.csv), *.csv", Title:="Enregistrer sous", InitialFileName:=targetFileName)

If varResult <> False Then
GetSaveFilename = varResult
End If
End Function

Sub ExportCsv(paramTabExportNom, paramSeparateurChamp, paramSeparateurDecimal)
Dim tabExport As ListObject

Set tabExport = ActiveSheet.ListObjects(paramTabExportNom)
targetFolder = GetSaveFilename()

If targetFolder <> "" Then
Dim fileNo As Integer
fileNo = FreeFile

nbLigne = 0
On Error Resume Next
nbLigne = tabExport.DataBodyRange.Rows.Count + 1
On Error GoTo 0
If nbLigne > 0 Then
If Len(Dir(targetFolder)) > 0 Then

Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile targetFolder
End If
Dim fsT As Object
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2
fsT.Charset = "utf-8"
fsT.Open

For i = 1 To nbLigne
Ligne = ""
For j = 1 To tabExport.ListColumns.Count
Ligne = Ligne & tabExport.Range.Cells(i, j) & IIf(j = tabExport.ListColumns.Count, "", paramSeparateurChamp)
Next j
fsT.WriteText Ligne & vbCrLf
Next i
fsT.SaveToFile targetFolder, 2

AnswerYes = MsgBox("Le fichier a été exporté vers : " & vbCrLf & targetFolder & vbCrLf & vbCrLf & "Voulez-vous ouvrir l'emplacement ?", vbQuestion + vbYesNo, "Ouvrir l'emplacement")
If AnswerYes = vbYes Then
Shell Environ("WINDIR") & "\explorer.exe /select," & targetFolder, vbNormalFocus
End If
End If
End If

End Sub

Merci d'avance,

Cordialement,

Bonjour Gülsah et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment

  • Pour plus de lisibilité, utilisez le bouton </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
    image

Merci d'y faire attention la prochaine fois.

Vous pouvez également regarder les fonctionnalités du Forum

Merci de votre participation

Cordialement

Bonsoir,

je crois qu'une macro avec paramètre ne peut se lancer seule ! En effet quelles valeurs prennent les paramètres ?

Il vous faut créer une Sub qui appellera votre Sub ExportCsv, en indiquant les trois paramètres :

Sub Lancer()
Call ExportCsv V1 , V2, V3
End Sub

Par exemple où les trois variables V1 à V3 auront été définies.

@ bientôt

LouReeD

Rechercher des sujets similaires à "macro indisponible"