Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ > Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ > Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ > Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" <fs@news.group> a écrit dans le message de news:
u9yEthyHKHA.4316@TK2MSFTNGP04.phx.gbl...
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" <fs@news.group> a écrit dans le message de news:
u9yEthyHKHA.4316@TK2MSFTNGP04.phx.gbl...
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux dans
les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?", vbYesNo,
"Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" a écrit dans le message de news:
%Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux dans
les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?", vbYesNo,
"Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" <fs@news.group> a écrit dans le message de news:
%23RY34E0HKHA.1248@TK2MSFTNGP04.phx.gbl...
Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" <fs@news.group> a écrit dans le message de news:
u9yEthyHKHA.4316@TK2MSFTNGP04.phx.gbl...
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux dans
les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?", vbYesNo,
"Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" a écrit dans le message de news:
%Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Je vois au moins 2 problèmes possibles :
- Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
Sauf si strFolder est initialisée qqpart ailleurs, cette variable est vide
et le modèle ne peut être trouvé
- Par ailleurs, un nouveau classeur, quel que soit le modèle sur lequel il
est basé n'a ni nom ni chemin. Donc dans cette ligne de code
strFolder = ThisWorkbook.Path & ""
--> ThisWorkbook.Path=""
La première chose à faire, juste après avoir créé ton nouveau classeur,
serait donc de lui donner un nom, au moins temporaire, ce qui permettra
qu'il ait du même coup un chemin valide.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux
dans les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?",
vbYesNo, "Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" a écrit dans le message de news:
%Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Je vois au moins 2 problèmes possibles :
- Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
Sauf si strFolder est initialisée qqpart ailleurs, cette variable est vide
et le modèle ne peut être trouvé
- Par ailleurs, un nouveau classeur, quel que soit le modèle sur lequel il
est basé n'a ni nom ni chemin. Donc dans cette ligne de code
strFolder = ThisWorkbook.Path & ""
--> ThisWorkbook.Path=""
La première chose à faire, juste après avoir créé ton nouveau classeur,
serait donc de lui donner un nom, au moins temporaire, ce qui permettra
qu'il ait du même coup un chemin valide.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux
dans les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?",
vbYesNo, "Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" <fs@news.group> a écrit dans le message de news:
%23RY34E0HKHA.1248@TK2MSFTNGP04.phx.gbl...
Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" <fs@news.group> a écrit dans le message de news:
u9yEthyHKHA.4316@TK2MSFTNGP04.phx.gbl...
Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :
Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal
Re,
Je vois au moins 2 problèmes possibles :
- Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
Sauf si strFolder est initialisée qqpart ailleurs, cette variable est vide
et le modèle ne peut être trouvé
- Par ailleurs, un nouveau classeur, quel que soit le modèle sur lequel il
est basé n'a ni nom ni chemin. Donc dans cette ligne de code
strFolder = ThisWorkbook.Path & ""
--> ThisWorkbook.Path=""
La première chose à faire, juste après avoir créé ton nouveau classeur,
serait donc de lui donner un nom, au moins temporaire, ce qui permettra
qu'il ait du même coup un chemin valide.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Je regarde cela et si tu veux bien je reviendrai vers toi au cas où.
D8 n'est pas vide.
Mais je me demande si je ne suis pas en train de m'emmeler les pinceaux
dans les différentes initialisation du code.
Je me permets de t'en faire copie ici peut-être verras tu de suite ce qui
cloche
Private Sub CommandButton18_Click()
' ****** Charge le modèle de facture _
qui doit-être basé dans le même dossier ******
Set wbk = Workbooks.Add(Template:=strFolder & "ModFact.xltx")
' ****** On met à jour la raison sociale _
du client à facturer ******
Range("d8:e11").ClearContents
Range("d8").Value = Clients.Cbo1
Range("d9").Value = Clients.AdresseBox
Range("d10").Value = CDbl(Clients.CPBox)
Range("d11").Value = Clients.VilleBox
Range("c8").Value = CDbl(Clients.TextBox4)
[b47].End(xlUp).Offset(1, 0).Select
'****** Mise à jour des cellules de la facture _
basées sur le modéle ModFact.xltx ******
ActiveCell.Offset(0, 0).Value = CDbl(TextBox2)
ActiveCell.Offset(0, 1).Value = ProdBox
ActiveCell.Offset(0, 5).Value = CDbl(TextBox1)
ActiveCell.Offset(0, 6).Value = CDbl(PrixBox)
ActiveCell.Offset(0, 7).Value = CDbl(TextBox3)
' ****** Création du dossier du Client ******
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
'****** Crée le sous répertoire du client si inexistant ******
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName<--- La ligne qui cloche
' ****** Insertion de la formule de Calcul du Montant HT ******
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"), Type:=xlFillDefault
Range("J18:J47").Select
' ****** Saisie d'une nouvelle ligne de facture _
et réponse Oui/Non ******
AjoutLigne = MsgBox("Voulez vous saisir un nouveau Produit ?",
vbYesNo, "Confirmation...")
If AjoutLigne = vbYes Then
'****** Vide les contrôles ******
ProdBox.Value = ""
PrixBox.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Range("J18").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-3]*RC[-2],"""")"
Selection.AutoFill Destination:=Range("J18:J47"),
Type:=xlFillDefault
' ****** On redonne le Focus à la Combo ProdBox _
Pour saisir un nouveau produit
ProdBox.SetFocus
Else
' ****** on décharge le Userform ******
Unload Me
End If
End Sub
"FS" a écrit dans le message de news:
%Re,
Testé avec Excel 2003 (en remplaçant seulement l'extension .xlsx par
.xls). Je n'ai pas rencontré ce problème.
Essaye de vérifier avant la ligne qui provoque l'erreur si la variable
fldr est bien initialisée en ajoutant juste avant
MsgBox fldr.Path
Par ailleurs, il y a bien une valeur dans le cellule D8 ?
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Merci Fréderic
Cela me renvoie un message d'erreur sur la ligne
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
variable Objet Ou variable de bloc With non définie
alors que je n'ai pas de With
Pascal
"FS" a écrit dans le message de news:Bonjour,
Essaye en utilisant l'objet répertoire créé avec le FileSystemObject :
'================================ >>>>> Sub essai()
Dim strFolder As String
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object, fldr As Object
strFolder = ThisWorkbook.Path & ""
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.createfolder(strFolder & Range("d8"))
End If
Set wbk = ThisWorkbook
wbkName = "FA" & Range("D8") & _
Format(Now, "dd-mm-yyyy h-mm-ss") & ".xlsx"
wbk.SaveAs fldr.Path & "" & wbkName 'strFolder & wbkName
End Sub
'================================== >>>>>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Pascal a écrit :Bonjour
Excel 2007
Avec ce code:
strFolder = ThisWorkbook.Path & ""
Dim wbk As Workbook
Dim wbkName As String
Dim fso As Object
' Crée le sous répertoire du client si inexistant
If Dir(strFolder & Range("d8"), vbDirectory) = "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder (strFolder & Range("d8")
End If
Je crée le répertoire du client si inexistant et ensuite avec ce code
wbkName = "FA" & Range("D8") & Format(Now, "dd-mm-yyyy h-mm-ss") &
".xlsx"
wbk.SaveAs strFolder & wbkName
Je souhaite enregistrer la Facture dans le dossier précédement crée.
Mais elle s'enregistre dans le dossier par défaut d'Excel
Ou merde-je??
Merci
Pascal