Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification, les
2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie du nom
de client : et OK = disparation du nom et encore OK= disparition de la
fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" a écrit dans le message de news:
4367852f$0$17225$dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673de0$0$17225$si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673247$0$17225$Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages ou
des inconvénients depuis l'affichage d'une Inputbox où tu tapes le
nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la possibilité
d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier et
répertoire de stockage ) et comment gère t-on d'eventuelles erreurs
d'enregistrement ?
A+Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC
Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification, les
2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie du nom
de client : et OK = disparation du nom et encore OK= disparition de la
fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
4367852f$0$17225$8fcfb975@news.wanadoo.fr...
dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+
je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+
Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
43673de0$0$17225$8fcfb975@news.wanadoo.fr...
si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+
par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+
Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
43673247$0$17225$8fcfb975@news.wanadoo.fr...
Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages ou
des inconvénients depuis l'affichage d'une Inputbox où tu tapes le
nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la possibilité
d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier et
répertoire de stockage ) et comment gère t-on d'eventuelles erreurs
d'enregistrement ?
A+
Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC
Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification, les
2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie du nom
de client : et OK = disparation du nom et encore OK= disparition de la
fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" a écrit dans le message de news:
4367852f$0$17225$dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673de0$0$17225$si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673247$0$17225$Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages ou
des inconvénients depuis l'affichage d'une Inputbox où tu tapes le
nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la possibilité
d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier et
répertoire de stockage ) et comment gère t-on d'eventuelles erreurs
d'enregistrement ?
A+Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC
Ben alors là , c'est la 1ere fois que j'entends parler de Thisworksheet.
Une nouveauté de Excel 2003 ou alors tu as renommé le module de classe
Thisworkbook , Thisworksheet?
Pour le reste, ce qui peut se produire c'est que la proc en question
etablit une gestion d'erreur. En conséquence si le nom que tu frappes est
tel qu'un caractère au moins est un caractère interdit pour un nom de
fichier ( exemple le caractère ? ) alors, l'erreur d'enregistrement est
prise en charge et l'inputbox est réaffichée avec une entrée vierge pour
inciter l'utilisateur à refrapper un nom convenable (c'est exact que je
n'ai pas poussé le luxe jusqu'à envoyer un msgbox pour expliquer à
l'utilisateur qu'il a saisi un nom invalide mais bon , tu peux le rajouter
si tu veux). Ensuite si tu ne reffrappes pas un nom dans l'inputbox
réaffichée et que tu cliques sur OK, alors comme je te l'avais indiqué
dans mon 1er post, alors l'inputbox se ferme et il ne se passe rien.
Si vraiment malgré toutes ces explications, tu n'y arrives pas, , si tu le
souhaites, envoies moi un exemple sur ma BAL perso
Je le traiterai ce soir.
A+Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification,
les 2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie
du nom de client : et OK = disparation du nom et encore OK= disparition
de la fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" a écrit dans le message de news:
4367852f$0$17225$dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673de0$0$17225$si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" a écrit dans le message de
news: 43673247$0$17225$Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages
ou des inconvénients depuis l'affichage d'une Inputbox où tu tapes
le nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la
possibilité d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier
et répertoire de stockage ) et comment gère t-on d'eventuelles
erreurs d'enregistrement ?
A+Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC
Ben alors là , c'est la 1ere fois que j'entends parler de Thisworksheet.
Une nouveauté de Excel 2003 ou alors tu as renommé le module de classe
Thisworkbook , Thisworksheet?
Pour le reste, ce qui peut se produire c'est que la proc en question
etablit une gestion d'erreur. En conséquence si le nom que tu frappes est
tel qu'un caractère au moins est un caractère interdit pour un nom de
fichier ( exemple le caractère ? ) alors, l'erreur d'enregistrement est
prise en charge et l'inputbox est réaffichée avec une entrée vierge pour
inciter l'utilisateur à refrapper un nom convenable (c'est exact que je
n'ai pas poussé le luxe jusqu'à envoyer un msgbox pour expliquer à
l'utilisateur qu'il a saisi un nom invalide mais bon , tu peux le rajouter
si tu veux). Ensuite si tu ne reffrappes pas un nom dans l'inputbox
réaffichée et que tu cliques sur OK, alors comme je te l'avais indiqué
dans mon 1er post, alors l'inputbox se ferme et il ne se passe rien.
Si vraiment malgré toutes ces explications, tu n'y arrives pas, , si tu le
souhaites, envoies moi un exemple sur ma BAL perso anonymousA@wanadoo.fr.
Je le traiterai ce soir.
A+
Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification,
les 2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie
du nom de client : et OK = disparation du nom et encore OK= disparition
de la fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
4367852f$0$17225$8fcfb975@news.wanadoo.fr...
dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+
je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+
Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
43673de0$0$17225$8fcfb975@news.wanadoo.fr...
si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+
par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+
Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de
news: 43673247$0$17225$8fcfb975@news.wanadoo.fr...
Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages
ou des inconvénients depuis l'affichage d'une Inputbox où tu tapes
le nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la
possibilité d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier
et répertoire de stockage ) et comment gère t-on d'eventuelles
erreurs d'enregistrement ?
A+
Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC
Ben alors là , c'est la 1ere fois que j'entends parler de Thisworksheet.
Une nouveauté de Excel 2003 ou alors tu as renommé le module de classe
Thisworkbook , Thisworksheet?
Pour le reste, ce qui peut se produire c'est que la proc en question
etablit une gestion d'erreur. En conséquence si le nom que tu frappes est
tel qu'un caractère au moins est un caractère interdit pour un nom de
fichier ( exemple le caractère ? ) alors, l'erreur d'enregistrement est
prise en charge et l'inputbox est réaffichée avec une entrée vierge pour
inciter l'utilisateur à refrapper un nom convenable (c'est exact que je
n'ai pas poussé le luxe jusqu'à envoyer un msgbox pour expliquer à
l'utilisateur qu'il a saisi un nom invalide mais bon , tu peux le rajouter
si tu veux). Ensuite si tu ne reffrappes pas un nom dans l'inputbox
réaffichée et que tu cliques sur OK, alors comme je te l'avais indiqué
dans mon 1er post, alors l'inputbox se ferme et il ne se passe rien.
Si vraiment malgré toutes ces explications, tu n'y arrives pas, , si tu le
souhaites, envoies moi un exemple sur ma BAL perso
Je le traiterai ce soir.
A+Bonsoir à tous......................Bonsoir anonymousA,
Je n'ais pas recopier, puique je pratique le copier/coller, j'ai
éffectivement trop peur des erreurs de syntaxe,
Mais j'ai quand même dû mal m'y prendre, enfin bref, après vérification,
les 2 versions fonctionnent pareillement, c'est à dire jusqu'a la saisie
du nom de client : et OK = disparation du nom et encore OK= disparition
de la fenêtre et aucun enregistrement ne s'est produit,
PS. dans la 2ème version j'ai dû remplacer With Thisworkbook par With
Thisworksheet pour que çà fonctionne pareillement ( conseil de l'Aide )
Cordialement.............encore Merci............DC
"anonymousA" a écrit dans le message de news:
4367852f$0$17225$dans la 2eme version, le with Thisworkbook End with que tu as recopié
n'est pas celui que je t'ai envoyé . Telle qu'écrite , ta syntaxe est
fausse.
Reprends celle que je t'ai fait parvenir
A+je ne constate pas ce que tu décris et pourtant j'ai repris la même proc
et l'ai fait tourner.
Pour la 2eme version, il manque l point (.) devant path
A+Bonjour à tous.....................Bonjour anonymousA,
1ère version : Tout se passe bien jusqu'a l'ouverture de la fenêtre
Inputbox, je saisi le nom, puis OK......et là, le nom disparait et rien
d'autre ne se passe et au second OK la fenêtre Inputbox se ferme, rien
n'a été sauvegardé et tout reste en l'état.
'---------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAS Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
2ème version : Ouverture d'une fenêtre VB :
Erreur de compilation .............Fonction ou variable attendue
et mise en surbrillance de : SaveAS........dans :
With ThisWorkbook.SaveAS
'-------------------------------------------
Sub Sauve_Fermer_la_Facturation()
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
With ThisWorkbook.SaveAS
Path& "" & response & ".xls"
End With
End If
Loop
On Error GoTo 0
End Sub
'-------------------------------------------
Cordialement...........un grand Merci d'avance............DC
"anonymousA" a écrit dans le message de news:
43673de0$0$17225$si tu veux que le fichier s'enregistre sous le même chemin que le
fichier en cours (pour peu qu'il ait un chemin d'ailleurs), remplacer
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
par
with ThisWorkbook
.SaveAs .Path& "" & response & ".xls"
End With
A+par exemple, mais il y a bien d'autres manières
On Error Resume Next
Err.Raise 50000
Do While Err.Number <> 0
response = InputBox("Rentrez le nom du fichier à sauvegarder")
Err.Clear
If response <> "" Then
Chemin = "C:Répertoiredestockage"
ThisWorkbook.SaveAs Chemin & "" & response & ".xls"
End If
Loop
On Error GoTo 0
A noter que dans ce cas de figure, la non rentrée de texte dans
l'inputbox puis l'appui sur la touche OK ne fera pas plantter la
procédure mais n'enregistrera rien.
A+Bonjour à tous...........................Bonjour anonymousA,
Dans le cas présent, la personne qui sauvegardera avec la macro, ne
doit pas avoir le choix pour le cheminement,
Il faut garder le cheminement éxistant de " Facturation " et ne
changer que le nom,
Depuis l'affichage d'un InputBox,....çà me paraît positif...!!,....
mais j'avoue que je ne sais pas faire............Merci...!!
Cordialement...........encore Merci d'avance............DC
"anonymousA" a écrit dans le message de
news: 43673247$0$17225$Bonjour,
de nombreuses solutions sont possibles avec chacune des avantages
ou des inconvénients depuis l'affichage d'une Inputbox où tu tapes
le nom du fichier ( en prenant la précaution de savoir sur quel
répertoire l'neregistrer) en passant par l'affichage de la boite
enregistrersous ( utilisation de filedialog) et aussi la
possibilité d'utiliser la méthode GetSaveAsFilename ,etc....
La question est surtout: Quelle est la liberté de manoeuvre de
l'utilisateur sur les conditions d'enregistrement (nom du fichier
et répertoire de stockage ) et comment gère t-on d'eventuelles
erreurs d'enregistrement ?
A+Bonjour à tous,.............et bonne journée...!
Si possible, j'aimerais faire une facture sur un classeur, portant
le nom de " Facturation ",......( çà je sais faire...merci...!! )
Et lorsque tout est terminé, pouvoir l'enregistrer sous un autre
nom ( celui du Client ), mais ceci par le lancement d'une macro,
avec l'apparition d'une fenêtre me demandant le nom du Client, que
je saisi :................... et ensuite " OK "
Salutations!...............Merci d'avance.................DC