OVH Cloud OVH Cloud

Macro pour " Enregistrer Sous : "

12 réponses
Avatar
DC
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

10 réponses

1 2
Avatar
anonymousA
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





Avatar
DC
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






Avatar
anonymousA
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










Avatar
anonymousA
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












Avatar
michdenis
Bonjour DC,

Pourquoi ne pas utiiser le nom du client inscrit sur la facture auquel tu ajouter le numéro de compteur automatiques du compteur
afin d'éviter d'avoir un doublon dans le nom du fichier.

Tu pourrais alors utiliser une procédure comme ceci :
'----------------------------
Sub Enregistrement()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil1")
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAs Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------


Salutations!





"DC" a écrit dans le message de news: 43672f8f$0$976$
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
Avatar
DC
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














Avatar
DC
Bonjour à tous....................Bonjour michdenis,

Ta procédure retient mon attention et c'est vrais que le doublon dans le nom
du fichier pose problème,....( aussi aprés essais, çà fonctionne très bien
et l'enregistrement s'est fait sous le chiffre "0" )

J'ai donc essayé et le fait, de rentrer le nom du Client ainsi que le numéro
de compteur à l'intérieur du code me paraît être un
inconvéniant,........mais bon...!!.............

Serait-il possible, grace à une fenêtre Inputbox ou autre par exemple, que
la personne de saisie, puisse elle-même introduire le nom du Client, (
différent à chaque enregistrement )

Quand au compteur, l'on pourrait imaginer un premier changement au début de
chaque mois, par fenêtre Imputbox ou autre à 2 boutons " OK "pour comptage
automatique et " Début " pour repartir à " 0 "...............Merci de ta
procédure bien pensée...!!

Salutation!.............encore Merci d'avance.............DC

"michdenis" a écrit dans le message de news:
%
Bonjour DC,

Pourquoi ne pas utiiser le nom du client inscrit sur la facture auquel tu
ajouter le numéro de compteur automatiques du compteur
afin d'éviter d'avoir un doublon dans le nom du fichier.

Tu pourrais alors utiliser une procédure comme ceci :
'----------------------------
Sub Enregistrement()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil1")
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAs Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------


Salutations!





"DC" a écrit dans le message de news:
43672f8f$0$976$
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






Avatar
anonymousA
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


















Avatar
anonymousA
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




















Avatar
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






















1 2