Enregistrer sous selon nom de cellule

Shadtita Messages postés 43 Statut Membre -  
Shadtita Messages postés 43 Statut Membre -
Bonjour,

Je souhaiterais savoir s'il est possible de créer une macro qui permette l'enregistrement d'un fichier selon un nom de cellule ?

Par exemple, la cellule C2 se nomme "trucmachin", je voudrais avoir un bouton ou autre me permettant d'enregistrer directement le doc en "trucmachin" sans passer par "enregistrer sous" et de préférence dans un dossier spécifié !

Merci par avance...

Je précise que je ne connais absolument rien à VBA :( malheureusement d'ailleurs !
A voir également:

36 réponses

Shadtita Messages postés 43 Statut Membre
 
wahou c'est trop bien !
Merci beaucoup !
je vais re relire tout ça hihihi.

Désolée pour mon "exprimation" (héhé) mais je ne connais pas les termes exacts !

J'essaye et je te tiens au courant ! Merci encore de m'avoir expliqué tout ça !
0
Shadtita Messages postés 43 Statut Membre
 
Arf, je croyais avoir compris mais mais mais !

Quand je test, la dernière ligne est surlignée en jaune :

Private Sub CommandButton1_Click()
Dim vas As String
Var = "W:\nomdelentreprise\TRANSACTIONS\Commandes\"
ActiveWorkbook.SaveAs Filename:=(Var & "\" & [B12] & ".xls")

End Sub

pardon pardon pour ma bêtise !

et pendant que j'y pense, à la fin tu mets ".xls" : y aurait il moyen de passer par là pour que ça se transforme en PDF ?

*ah si j'avais mon technicien sur place**soupir*
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Et oui lapon compris...
Non mon code tu n'y touches pas!!!!!
Il fait tout, tout seul! C'est lui qui va chercher le chemin tout seul avec ActiveWorkbook.Path et c'est lui qui va chercher le nom du fichier en A1. Tout, tout seul!! C'est à cela que servent les macros.
Bon code :

Private Sub CommandButton1_Click()
Dim var As String
var = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (var & "\" & [A1] & ".xls")
End sub

épissétou.

Pour le pdf, comment dire... Faut pas rêver, ça serait trop simple. As tu Adobe Acrobat Standard? (pas le reader, celui un p'tit peu plus évole?)
0
Shadtita Messages postés 43 Statut Membre
 
Ben j'sais pas moi ça pourrait ^^

Je ne sais pas ce que l'on a ici, je sais que pour créer des PDF on utilise CutePDF (on fait imprimer, CutePDF et hop hop hop !)

cela dit...ça ne marche pas :(

il faut que j'écrive en A1 le fameux chemin peut-etre non ?
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
NONNNNNNNNNNNNN!!
pardon, cela ne se reproduira plus (peut être...)
En A1, tu ne mets que le nom du fichier. exemple : devis 197. épicétou. Le chemin C:\blablabla et l'extension ".xls" se mettent tout seul.
Tu peux l'avoir dans une autre cellule. Si tu veux indiquer ton nom de fichier en AZ36589, il te suffit de changer le code de la macro en mettant :

Private Sub CommandButton1_Click()
Dim var As String
var = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (var & "\" & [AZ36589] & ".xls")
End sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Shadtita Messages postés 43 Statut Membre
 
Mais heuuuu !!!

Comment il peut savoir où je veux le mettre si je lui dis paaaaaaaaaaas !

en plus quand j'essaye comme ça, en mettant juste ton code, il me surligne encore en jaaaaaaaaaaaune !
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Ben tu lui dis, en gras : ActiveWorkbook.SaveAs (var & "\" & [AZ36589] & ".xls")

EDIT : pardon tu parlais sans doute du chemin...
Ben tu lui dis, en gras : var = ActiveWorkbook.path
ActiveWorkbook.SaveAs (var & "\" & [AZ36589] & ".xls")
0
Shadtita Messages postés 43 Statut Membre
 
ne me gronde pas :''( je vais pleurer...je comprends pas :(

tu me disais que AZ36589 c'est le nom de mon fichier... et maintenant c'est ma destination de fichier :''(
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Oui j'ai répondu trop vite. Voir édith dans mon post 29
0
Shadtita Messages postés 43 Statut Membre
 
...je dois mettre ça en gras ....

vraiment je t'admire pour ta patience !
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
T'inquiète, c'est agréable de sentir que quelqu'un veux aller au bout des choses. Après tout tu aurais aussi bien pu venir ici, demander le code, revenir pour le copier coller, sans remercier ni comprendre. Le merci, on s'en f**** (même si ça fait toujours plaisir) mais la compréhension est super importante. Bravo à toi par conséquent.

Et non tu ne le mets pas en gras, ça sert à rien........
0
Shadtita Messages postés 43 Statut Membre
 
hihi je fais ce que je peux pourtant...

que puis je faire alors pour que ça marche !

je veux que ça aille dans ce dossier => "W:\nomdelentreprise\TRANSACTIONS\Factures\"
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Alors, tu ouvres, sur le poste de travail de chaque utilisateur ton fichier. Tu l'enregistres sous : "W:\nomdelentreprise\TRANSACTIONS\Factures\"
Tu le fermes.
Tu l'ouvres à nouveau écris un nom dans la cellule que tu as choisit (A1 dans mon exemple initial) par exemple écris : test puis lance la macro. Si tout fonctionne ferme le fichier et va voir dans "W:\nomdelentreprise\TRANSACTIONS\Factures\" Normalement tu auras 2 fichiers : le tien et un appelé test.xls...
A priori, tu ne dois pas faire ça sur chaque poste puisque le chemin, vraisemblablement sera le même... Fais le sur 2 postes, si ça fonctionne c'est cool...
0
Shadtita Messages postés 43 Statut Membre
 
okai okai je vais essayer ça.

Mais est ce nécessaire de mettre le fichier dans le dossier ou on veut l'enregistrer ?
Parce qu'en fait, je comptais enregistrer mon fichier dans "modèle" parce que j'ai peur que les gens le détruisent par mégarde en enregistrant par dessus !

Mon fichier est actuellement ici : W:\nomdelentreprise\Moi\doc\modeles
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Mais est ce nécessaire de mettre le fichier dans le dossier ou on veut l'enregistrer ? Avec ma macro oui.
2 choix, soit tu empêches les utilisateurs d'enregistrer avec le même nom qu'à l'ouverture, soit on change la macro en lui indiquant le "chemin" de sauvegarde. Que préfères tu?
0
Shadtita Messages postés 43 Statut Membre
 
tatatata, ni l'un ni l'autre je veux les 2 ^^

Mais je peux le mettre dans le dossier s'il n'y a que ça hihi.

sinon pour le transformer en PDF simplement, as tu une idée ? (j'en profite vu que tu t'y connais à max !)

ps : je débauche à 17h donc si mon souci n'est point résolu je reviens demain, j'espère que tu seras là !

Edit, je viens de penser que dans mon fichier il y a 2 onglets, et donc 2 boutons pour enregistrer...mais dans 2 répertoires différents !!! (l'autre c'est pas "commande" mais "facture") donc je vais avoir un hic pour enregistrer non ?
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
T'inquiète, je vais y passer la nuit...
Allons y pour les 2. Je t'en livre une de suite, la 2ème faut que je réfléchisse un minimum.
Pour enregistrer systématiquement dans un répertoire différent de celui ouvert : celui que tu m'as donné tout à l'heure...

Private Sub CommandButton1_Click()
Dim var As String
var = W:\nomdelentreprise\TRANSACTIONS\Factures
ActiveWorkbook.SaveAs (var & "\" & [A1] & ".xls")
End sub

2ème solution : Accroches toi c'est plus difficile

Clic droit sur l'onglet de ta feuille "visualiser le code" sur la gauche de ta fenêtre VB tu vois une petite fenêtre avec :
Feuil1
Feuil2
Feuil3
This WorkBook
Double Cliquer sur This WorkBook

taper : (ou copier coller)

Private Sub Workbook_Open()
[AZ1] = [A1]
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If [AZ1] = [A1] Then
MsgBox ("vous devez changer le nom du fichier")
End If
End Sub

Ca n'empêchera pas le vicieux qui se fiche de tout d'annuler, mais ça fait un beau rappel pour les imprudents.
La suite demain, si tu veux bien

0
Shadtita Messages postés 43 Statut Membre
 
hihi je vais te transformer en zombie ^^
merci de chercher encore c'est vraiment gentil !
bon je commence mes questions !

Qu'as tu changé dans la 1ère solution ? =>

Private Sub CommandButton1_Click()
Dim var As String
var = W:\nomdelentreprise\TRANSACTIONS\Factures
ActiveWorkbook.SaveAs (var & "\" & [A1] & ".xls")
End sub


pour ce qui est de la 2ème, si j'ai bien suivi, c'est s'il n'y a rien dans la cellule censée changer le nom, un message indique à l'utilisateur de le mettre ? ou est ce si le boulet qui n'a pas changé le nom enregistrer, un message lui indique de modifier le nom ?
parce que j'ai créé un bouton, mais il est possible que l'utilisateur clic sur la disquette pour enregistrer et patatra adieu mon beau travail (hihi)

c'est dommage qu'on soit en réseau, parce que ça marchait bien sinon pour enregistrer et tout ça !!!
0