Pb avec ma macro
salomvba
Messages postés
1
Statut
Membre
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un pb avec am macro et je ne sais pas ou est l'erreur
je dois creer une procedure qui permet de sauvegarder mes feuilles excels dans des dossiers differents separement
le nom de mes files doit correspondre a une cellule specifique, cependant lorsque je run la macro le nom ne marche pas (merchant)
Si qqn a une solution a me proposer ce serait tres gentil
Sub Tester()
Const DEST As String = "C:\Users\salome\Desktop\Business\ZOTAPAY\Merchants\" 'adjust to suit...
Dim wbSrc As Workbook, sht As Worksheet, merchant As String
Dim fldr As String
Set wbSrc = ActiveWorkbook
For Each sht In wbSrc.Worksheets
merchant = sht.Range("B1").Value = Filename
sht.Copy
fldr = DEST & merchant
If Dir(fldr, vbDirectory) <> "" Then
With ActiveWorkbook
.SaveAs fldr & "\report20-11to26-11.xlsx"
.Close False
End With
Else
MsgBox "Sub-folder '" & fldr & "' not found!"
End If
Next sht
End Sub
J'ai un pb avec am macro et je ne sais pas ou est l'erreur
je dois creer une procedure qui permet de sauvegarder mes feuilles excels dans des dossiers differents separement
le nom de mes files doit correspondre a une cellule specifique, cependant lorsque je run la macro le nom ne marche pas (merchant)
Si qqn a une solution a me proposer ce serait tres gentil
Sub Tester()
Const DEST As String = "C:\Users\salome\Desktop\Business\ZOTAPAY\Merchants\" 'adjust to suit...
Dim wbSrc As Workbook, sht As Worksheet, merchant As String
Dim fldr As String
Set wbSrc = ActiveWorkbook
For Each sht In wbSrc.Worksheets
merchant = sht.Range("B1").Value = Filename
sht.Copy
fldr = DEST & merchant
If Dir(fldr, vbDirectory) <> "" Then
With ActiveWorkbook
.SaveAs fldr & "\report20-11to26-11.xlsx"
.Close False
End With
Else
MsgBox "Sub-folder '" & fldr & "' not found!"
End If
Next sht
End Sub
2 réponses
-
Bonjour,
Un conseil je donne toujours, commences ton module parOption Explicit
C'est la démonstration même de son intérêt : le compilateur détectera l'erreur.
-
Bonjour,
Cette syntaxe n'est pas permise ...
merchant = sht.Range("B1").Value = Filename
essaye plutôt :merchant = sht.Range("B1").Value
K-
Bien sur que la syntaxe est permise !
merchant = sht.Range("B1").Value = FilenamePar contre, vu que merchant est de type String, elle renvoie un booléen converti en chaine.
C'est probablement pas ce qui est recherché.
Avec Option Explicit, le compilateur détecte l'absence de déclaration de Filename, ça oblige à réfléchir sur ce qui est écrit !
-