Bouton d'enregistrement
Bonjour,
Pour commencer merci pour l'aide déjà reçu et futur.
Voici mon problème :
Je souhaite mettre un bouton d'enregistrement pour mon fichier.
Mon fichier est composé de 4 feuilles.
1) la principale (AGENCE)
2) copie mais light (CLIENT FR)
3) copie mais light (CLIENT EN)
4) copie mais light (CLIENT AR)
Je souhaiterai que lorsque je clique sur le bouton,
Il me propose l'enregistrement :
1) Du fichier en excel avec dans le titre cellule C8 + AGENCE + D21 + somme(E26+J26) en rajoutant le chambres + C13
2) Du ficher en PDF pour la feuille 2 avec dans le titre C8 + CLIENT FR + D21 + somme(E26+J26) en rajoutant le chambres + C13
3) Du ficher en PDF pour la feuille 2 avec dans le titre C8 + CLIENT EN + D21 + somme(E26+J26) en rajoutant le chambres + C13
4) Du ficher en PDF pour la feuille 2 avec dans le titre C8 + CLIENT AR + D21 + somme(E26+J26) en rajoutant le chambres + C13
Donc en fait le lancement de l'enregistrement des 4, j'ai juste à spécifier le dossier d'enregistrement et si je veux rajouter autre chose au titre pour l'excel comme le PDF
J'ai un ancien code de bouton qui est très bien fait mais le modifier je n'ai pas les connaissances nécessaires.
Private Sub CommandButton1_Click()
Dim a As Worksheet
Dim sc As Workbook
Dim nouveauNom As String
Application.ScreenUpdating = False
Set a = ActiveSheet
nouveauNom = "DEVIS" & Range("H3").Value & " " & Range("F3").Value & Range("E3").Value
nouveauNom = Replace(nouveauNom, "/", "_")
Set sc = Workbooks.Add(xlWBATWorksheet)
sc.SaveAs (nouveauNom & ".xls")
a.Copy Before:=sc.Sheets(1)
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Workbooks(nouveauNom & ".xls").Close SaveChanges:=False
Kill nouveauNom & ".xls"
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Application.Quit
Donc, le modifier en conséquence, supprimer l'option qui ferme excel automatiquement.
Conseil : j'ai Acrobat Pro XI, que j'ai payé plus de 600€, mais le bouton est fait pour PDFCREATOR, je trouve cela dommage...mais peut-être est ce plus simple ainsi ???
Merci de votre aide,
Bien cordialement.
Bonjour
Un essai à tester.
Cela te convient-il ?
J’avoue ne pas avoir très bien compris sous quel nom il faut enregistrer les différents fichiers.
Bye !
gmb a écrit :Bonjour
Un essai à tester.
Cela te convient-il ?
J’avoue ne pas avoir très bien compris sous quel nom il faut enregistrer les différents fichiers.
Bye !
Bonjour GMB,
Merci de ton retour,
En effet je n'ai peut-être pas été assez clair...
Donc j'ai un fichier excel (fiche produit.xls) dans lequel il y a 4 feuilles.
Feuille 1, nommée AGENCE
Feuille 2, nommée CLIENT FR
Feuille 3, nommée CLIENT EN
Feuille 4, nommée CLIENT AR
La feuille AGENCE comprend l'ensemble des informations,
Les 3 autres feuilles sont identiques avec des informations en moins et dans des langues différentes
Dans la feuille AGENCE, j'ai en cellule C8 la référence, en I8 la localisation, en D21 le type, et en E26 et J26 deux nombres que je souhaite additionner.
Donc ce que je souhaite si cela est possible, c'est lors de l'enregistrement via le bouton
1) fichier excel complet en .xls = C8 (référence) + AGENCE + IB (localisation) + C10 (adresse) + D21 (type) + somme(E26+J26) CHAMBRES + C13 + ....
cela ressemblerai à : #V0001 AGENCE PARIS AVENUE RIVOLI APPARTEMENT MEUBLE 2 CHAMBRES 500€ ... .xls
2) feuille CLIENT FR en .pdf = C8 (référence) + CLIENT FR (nom de la feuille) + IB (localisation) + D21 (type) + somme(E26+J26) CHAMBRES + C13 + ....
cela ressemblerai à : #V0001 CLIENT FR PARIS APPARTEMENT MEUBLE 2 CHAMBRES 500€ ... .pdf
3) feuille CLIENT EN en .pdf = C8 (référence) + CUSTOMER EN (nom de la feuille) + IB (localisation) + D21 (type) + somme(E26+J26) CHAMBRES + C13 + ....
cela ressemblerai à : #V0001 CUSTOMER EN PARIS FURNISHED APARTMENT 2 ROOMS 500€ ... .pdf
4) feuille CLIENT AR en .pdf = C8 (référence) + CLIENT AR (nom de la feuille) + IB (localisation) + D21 (type) + somme(E26+J26) CHAMBRES + C13 + ....
cela ressemblerai à : #V0001 CLIENT AR PARIS APPARTEMENT MEUBLE 2 CHAMBRES 500€ ... .pdf
Pour expliquer le pourquoi de cela, le fichier excel final pour l'agence immobilière en privé.
Les 3 autres fichiers donc en .pdf pour les clients dans leurs langues respectives sans certaines informations privés.
J'espère que cela est plus clair.
Nouvel essai à tester.
gmb a écrit :Nouvel essai à tester.
Re-bonjour GMB,
Je te remercie de ton travail,
C'est presque ça...
1) le fichier excel enregistre une feuille vide ???
Alors qu'il doit enregistrer le fichier excel tel quel (complet) avec ce que tu as fait pour le nom (ça c'est parfait)
2) les fichiers PDF reprennent l'ensemble des feuilles ???
Alors que chaque fichier PDF doit correspondre à sa feuille.
Par exemple #V0001 CLIENT EN PARIS........... .pdf doit correspondre à la feuille CLIENT EN
Le fichier excel comprend la cellule C10 mais les fichiers PDF eux non car c'est une information privé.
J'espère que cela t'orientera pour ton aide.
Et merci encore, de ton travail, j’apprécie énormement, mais compétences étant très limitées...
Bien à toi.
gmb a écrit :Nouvel essai à tester.
Qu'en est-il ?
Bonjour GMB,
J'ai testé ton fichier qui est parfait,
Mais quand j'essaye de le transposer avec mon fichier, il y a une erreur...
Je te joint mon fichier pour que tu comprennes mieux ce que je veux faire.
De plus je me suis rendue compte que je n'étais pas suffisamment précis dans ce que je souhaitais...
En effet pour l'enregistrement en PDF, les noms de fichier doivent reprendre les informations des cellules dans les feuilles respectives, en effet comme elles sont en 3 langues, chaque feuille à son nom dans sa langue.
ex : #V0001 CLIENT FR 2 CHAMBRES...................................pdf
#V0001 CUSTOMER EN 2 ROOMS.......................................pdf
Dans l'attente de ton retour.
Bien à toi.
Bonjour
Essaie d’adapter ce nouvel essai.
J’ai du mal à retrouver ce que tu veux dans le nom des différents fichiers car les feuilles ne sont plus au même format.
Il me faudrait un exemple avec un fichier original renseigné et les noms des fichiers tels que tu les souhaites.
Bye !
gmb a écrit :Bonjour
Essaie d’adapter ce nouvel essai.
J’ai du mal à retrouver ce que tu veux dans le nom des différents fichiers car les feuilles ne sont plus au même format.
Il me faudrait un exemple avec un fichier original renseigné et les noms des fichiers tels que tu les souhaites.
Bye !
Bonsoir GMB,
Donc le bouton fonctionne.
Mais pour les noms des fichiers ce n'est pas cela sauf pour le fichier xls
Si tu as remarqué, dans la feuille AGENCE, il y a des boites déroulantes, et lors de la sélection des choix cela affiche la même chose dans les autres pages mais dans d'autres langues.
Exemple dans la feuille AGENCE quand tu sélectionnes LOCATION dans la feuille CUSTOMER EN ça va afficher RENTING....
Donc le but c'est lors de l'enregistrement des fichiers en PDF pour chaque feuille il prenne les valeurs des cellules de ces même feuilles.
Pour reprendre ton code, voila ce qu'il faudrait que cela donne :
nomA = Range("feuille AGENCE C8") & " AGENCE " & Range("feuille AGENCE I12") & " " & Range("feuille AGENCE D21") & " " & Range("feuille AGENCE I8") & _
" " & Range("feuille AGENCE C10") & " " & Range("feuille AGENCE E26") + Range("feuille AGENCE J26") & " CHAMBRES " & Range("feuille AGENCE C13") & " €"
nomA = Replace(nomA, "/", "_")
nomB = Range("feuille CLIENT FR C8") & " CLIENT FR " & Range("feuille CLIENT FR I12") & " " & Range("feuille CLIENT FR D21") & " " & Range("feuille CLIENT FR I8") & _
" " & Range("feuille CLIENT FR C10") & " " & Range("feuille CLIENT FR E26") + Range("feuille CLIENT FR J26") & " CHAMBRES " & Range("feuille CLIENT FR C13") & " €"
nomB = Replace(nomB, "/", "_")
nomC = Range("feuille CUSTOMER EN C8") & " CUSTOMER EN " & Range("feuille CUSTOMER EN I12") & " " & Range("feuille CUSTOMER EN D21") & " " & Range("feuille CUSTOMER EN I8") & _
" " & Range("feuille CUSTOMER EN C10") & " " & Range("feuille CUSTOMER EN E26") + Range("feuille CUSTOMER EN J26") & " ROOMS " & Range("feuille CUSTOMER EN C13") & " €"
nomC = Replace(nomC, "/", "_")
nomD = Range("feuille CLIENT AR C8") & " CLIENT AR " & Range("feuille CLIENT AR I12") & " " & Range("feuille CLIENT AR D21") & " " & Range("feuille CLIENT AR I8") & _
" " & Range("feuille CLIENT AR C10") & " " & Range("feuille CLIENT AR E26") + Range("feuille CLIENT AR J26") & " ROOMS " & Range("feuille CLIENT AR C13") & " €"
nomD = Replace(nomD, "/", "_")
J'espère t'avoir aidé pour comprendre ce que je souhaitais.
Encore merci et bravo pour ton travail.
Dans l'attente de te lire.
Bien à toi.
Tu écris :
J'espère t'avoir aidé pour comprendre ce que je souhaitais.
Je ne sais pas si j’ai bien compris mais ce que tu demandes de faire, et que j’ai fait dans la version ci-jointe conduit à des choses curieuses.
En effet, les 4 noms sous lesquels tu veux enregistrer les feuilles font références aux mêmes cellules, chacune dans sa feuille : C8 – I12 – D21 – I8 – C10 - E26 - J26 – C13
Or, comme je te l’ai signalé précédemment, il ne me semble pas y avoir de correspondance entre les cellules de ces 4 feuilles.
Exemple : sur la feuille ‘’AGENCE’’, en C8 il y a une référence.
Mais sur la feuille ‘’CIENT AR ‘’ il n’y a rien en C8 ; la référence est en B8 : regarde bien !
Autre exemple ?
Sur la feuille ‘’AGENCE’’, La cellule où se trouve la liste déroulante qui affiche ‘’BUREAU’’ est en D21
Sur la feuille ‘’CLIENT FR’’ elle est à la cellule D20 comme sur la feuille ‘’CUSTOMER EN’’
Sur la feuille ‘’CLIENT AR’’ , je ne l’ai pas trouvée, il n’y a rien en D20
Neanmoins, sur la version que je t’envoie, tu pourras, si bon te semble, changer les références de chacune de ces cellules pour les adapter à chaque feuille.
OK ?
Bye !
gmb a écrit :Tu écris :
J'espère t'avoir aidé pour comprendre ce que je souhaitais.
Je ne sais pas si j’ai bien compris mais ce que tu demandes de faire, et que j’ai fait dans la version ci-jointe conduit à des choses curieuses.
En effet, les 4 noms sous lesquels tu veux enregistrer les feuilles font références aux mêmes cellules, chacune dans sa feuille : C8 – I12 – D21 – I8 – C10 - E26 - J26 – C13
Or, comme je te l’ai signalé précédemment, il ne me semble pas y avoir de correspondance entre les cellules de ces 4 feuilles.
Exemple : sur la feuille ‘’AGENCE’’, en C8 il y a une référence.
Mais sur la feuille ‘’CIENT AR ‘’ il n’y a rien en C8 ; la référence est en B8 : regarde bien !
Autre exemple ?
Sur la feuille ‘’AGENCE’’, La cellule où se trouve la liste déroulante qui affiche ‘’BUREAU’’ est en D21
Sur la feuille ‘’CLIENT FR’’ elle est à la cellule D20 comme sur la feuille ‘’CUSTOMER EN’’
Sur la feuille ‘’CLIENT AR’’ , je ne l’ai pas trouvée, il n’y a rien en D20
Neanmoins, sur la version que je t’envoie, tu pourras, si bon te semble, changer les références de chacune de ces cellules pour les adapter à chaque feuille.
OK ?
Bye !
Cher GMB,
Du fond du coeur, je te remercie de ton aide,
Tu as réussi, c'est exactement cela, j'ai modifié quelques cellules dans le code du bouton car en effet il y avait des erreurs...
Je te remercie beaucoup de ta patience et de ton aide.
Bien à toi.