Pb avec ma macro

Fermé
salomvba Messages postés 1 Date d'inscription mercredi 31 janvier 2018 Statut Membre Dernière intervention 31 janvier 2018 - 31 janv. 2018 à 12:53
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 31 janv. 2018 à 20:51
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
A voir également:

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 31 janv. 2018 à 14:07
Bonjour,

Un conseil je donne toujours, commences ton module par
Option Explicit 
C'est la démonstration même de son intérêt : le compilateur détectera l'erreur.

0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
31 janv. 2018 à 17:54
Bonjour,

Cette syntaxe n'est pas permise ...

merchant = sht.Range("B1").Value = Filename 


essaye plutôt :
merchant = sht.Range("B1").Value 


K
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 31 janv. 2018 à 20:51
Bien sur que la syntaxe est permise !
merchant = sht.Range("B1").Value = Filename
Par 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 !
0