Comment mettre une variable dans une fonction "ActiveWorkbook.SaveCopyAs"

Signaler
Messages postés
2
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012
-
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
-
bonjour,
je suis en train de créer un fichier excel avec quelques macro.
Le problème est en faite que je n'arrive pas à intégrer une variable dans la fonction "ActiveWorkbook.SaveCopyAs".
En faite, le but de cette opération est d'enregistrer une copie de mon excel sur un disque dur différent du mien.

Lors de la fermeture de mon fichier une intputBox apparait je rentre des caractères. J'aimerai que ces caractères deviennes le nom de mon fichier enregistré dans le disque dur différent du mien.

Merci de m'aider

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Bonjour,
1) SaveCopyAs attend une chaîne de caractères (chemin complet du fichier de destination)
2) Une inputbox permet l'extraction de ce qui y est saisi
Je vois donc mal ce qui, dans cette opération basique de chez basique, constituerait de près ou de loin un obstacle
exemple :
toto = Application.InputBox(prompt:="ce que tu veux", Title:="ton titre", Type:=2)
MsgBox toto ' ===>> tu vois bien, non ?
Et c'est ce toto, que tu dois utiliser ===>>
ActiveWorkbook.SaveCopyAs toto

Voilà ta réponse avec utilisation (puisque c'est ton voeu) d'une inputbox (que je n'utiliserais personnellement pas).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
2
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

Je te fais voir mon code. Car il fonctionne mais ne mets pas la valeur de Var1.
Public Var1 As String

Sub selection_engin()
Var1 = Application.InputBox(Prompt:= _
"ENTRER Le numéro d'engin.", _
Title:="SAISIE Du numéro")



End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
selection_engin
ActiveWorkbook.SaveCopyAs "\\P46skxcy036\maxtor1 (h)\Sauvegarde PAD\INCENDIE DIDIER\2012\Var1.XLS"


End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Ce que tu dis là est inquiétant !
Tu ne saurais même pas construire une chaine de caractères par concaténation d'une chaîne "blabla", d'une variable (var1) et de la chaine "XLS" !!!!!
Désolé, mais là, vois-tu ... je refuse personnellement de donner le code (????) d'un tel RUDIMENT de chez RUDIMENT !
Trop est vraiment trop.
Apprends ces bases élémentaires (celles que l'on apprend dans le tout 1er quart d'heure d'apprentissage) avant d'aller plus loin.
Vraiment désolé !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
Salut à vous,

histoire de mettre un peu d'eau dans le vin, et parce que je ne connais pas Choubidou41, et que je ne sais pas s'il a eu, ou s'il peut avoir, droit à ce 1er 1/4 d'heure d'apprentissage, et qu'on est Lundi de pentecôte et que je veux bien être solidaire (avec les vieux comme avec les jeunes, ...J'ai pas dit que tu étais vieux Ucfoutu! ), voici le 1/4 d'heure tant attendu :

[list]
[*]
Var1 est une variable (cad, une case qui a un nom "Var1", et qui, pour l'instant est vide).
[*]
Var1 12 est une affectation d'une constante à une variable ( cad, une valeur, à droite du signe, qui a un nom "12" et qui vaut 12, et qu'on met dans une case, à gauche, qui porte le doux nom bien connu de "Var1" ).
[*]
Var2 "\\labas\ici" & Var1 & ".xls" est une affectation (aussi) d'une concaténation implicite (ouch!) de 2 constantes et une variable (cad, qu'avec une 1ère main, à droite du signe, on "colle" la constante nommée "\\labas\ici" qui vaut "\\labas\ici" à gauche de la valeur de la variable nommée "Var1" qui vaut 12, et qu'on colle ça à gauche de la constante nommée ".xls" qui vaut ".xls". Ensuite, avec une 2ème main, on met le résultat dans une variable, à gauche du signe =, nommée "Var2" qui est vide avant ça, et qui vaudra "\\labas\ici\12.xls" après!).

/list

L'est pas belle la Vie?

Ce n'est bien sûr qu'un résumé! Et je suis content si ça ne t'auras pris qu'un 1/4 d'heure pour le lire et le comprendre.

Sans rire, je ne le fais pas pour contrarier Ucfoutu, mais juste parce que, visiblement, cette information te manque.
Néanmoins, et là je rejoins Ucfoutu, cette information est fondamentale, et il en existe des tas d'autres toutes aussi fondamentales, et tu auras bien du mal à les trouver sur un forum (t'imagines, il y en a au moins 200 * 1/4h, une semaine de forum à plein temps) ou même sur internet!(qui n'est pas toujours très pédagogue).

Je ne saurais que trop te conseiller de trouver un livre sur le sujet (et si tu manques de finances, tu en trouveras très certainement à la bibliothèque). Un livre te distillera les choses dans le bon ordre, avec suffisamment de détails et d'exemple. Après, si tu ne comprends pas le livre, tu peux toujours poser une question sur ce livre dans un forum...Ou te dire que l'informatique, c'est pas pour toi (ce à quoi je ne t'invite pas!)

à+


rvblogn
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!