Mettre une cellule dans l'adresse d'une macro

Résolu
tonny43 -  
 tonny43 -
Bonjour,
je souhaiterai integre le nom d'un cellule pour cree un nouveau dossier et ensuite cree une copie de la feuille 3 dans ce nouveau dossier, la copie marche mais je n'arrive pas a donner le non de la cellule a mon dossier la cellule a recupérer ce trouve en feuille 2 cellule M16 voici le mon programme
Sub MACRO()

r = ActiveSheet.Range("M16").Value

MkDir ("\\Socam-svr\AXESYT\r")

' ENREGIST Macro

Sheets("BASE DE DONNEE").Select
Range("C9").Select

Sheets("PIBTD2").Select
Sheets("PIBTD2").Copy

ChDir "\\Socam-svr\AXESYT\r"
ActiveWorkbook.SaveAs Filename:="\\Socam-svr\AXESYT\r\LANCEMENT.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
A voir également:

10 réponses

tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Bonjour,
lignes à modifier :
MkDir ("\\Socam-svr\AXESYT\r") devient MkDir ("\\Socam-svr\AXESYT\" & r)
ActiveWorkbook.SaveAs Filename:="\\Socam-svr\AXESYT\r\LANCEMENT.xlsx" devient ActiveWorkbook.SaveAs Filename:="\\Socam-svr\AXESYT\" & r & "\LANCEMENT.xlsx"
0
tonny43
 
merci deuxieme question :
comment je peu attribuer une cellule donner a r ?
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
r = ActiveSheet.Range("M16").Value me semblait OK, ça ne fonctionne pas ? Ceci dit je mettrais plutot qqchose comme ça (indépendant de la feuille sur laquelle tu te trouves ):
r = Sheets(2).Range("M16").Value
0
tonny43
 
en fait il bloque sur MkDir ("\\Socam-svr\AXESYT\" & r)
erreur chemin/fichier

voila la macro :

Sub MACRO()

r = ActiveSheet.Range("M16").Value

MkDir ("\\Socam-svr\AXESYT\" & r)

Sheets("BASE DE DONNEE").Select
Range("C9").Select

Sheets("PIBTD2").Select

Sheets("PIBTD2").Copy


ChDir "\\Socam-svr\AXESYT\ESSAI"
ActiveWorkbook.SaveAs Filename:="\\Socam-svr\AXESYT\" & r & "\LANCEMENT.xlsx"

End Sub

ci besoin je peu faire passe le fichier
merci
0
tonny43
 
en faite il bloque sur MkDir ("\\Socam-svr\AXESYT\" & r)
erreur chemin/fichier !
je vous redonne ma macro
Sub MACRO()

r = ActiveSheet.Range("M16").Value

MkDir ("\\Socam-svr\AXESYT\" & r)

Sheets("BASE DE DONNEE").Select
Range("C9").Select

Sheets("PIBTD2").Select

Sheets("PIBTD2").Copy

ChDir "\\Socam-svr\AXESYT\ESSAI"
ActiveWorkbook.SaveAs Filename:="\\Socam-svr\AXESYT\" & r & "\LANCEMENT.xlsx"

End Sub

ci besoin je peu faire passer le fichier
merci
0

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

Posez votre question
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
Essaie comme ceci (ajout d'une variable pour le chemin du rep)
Sub MACRO()

rep = "\\Socam-svr\AXESYT\" & ActiveSheet.Range("M16").Value

MkDir rep

Sheets("BASE DE DONNEE").Select
Range("C9").Select

Sheets("PIBTD2").Select

Sheets("PIBTD2").Copy

ActiveWorkbook.SaveAs Filename:= rep & "\LANCEMENT.xlsx"

End Sub
0
tonny43
 
LE PROBLEME EST QUE CETTE SOLUTION MARCHE MAIS CREE UN FICHIER REP DANS LEQUEL IL Y A LE CLASSEUR LANCEMENT.
JE VOUDRAIT QUE LE FICHIER REP PREND LA VALEUR DE LA CELLULE M16 JUSTEMENT JE C'EST PAS SI CELLA ET POSSIBLE
MERCI POUR LES REPONSES RAPIDE
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
premiere chose : pas la peine de CRIER !
ensuite : le code que j'ai posté fait exactement ça (jviens de tester),la variable rep est initialisée avec le chemin et la valeur de ta cellule M16 : rep = "\\Socam-svr\AXESYT\" & ActiveSheet.Range("M16").Value
!?
0
tonny43
 
lol dsl je crier pas dsl pr l'ecriture en majuscule.
non dsl moi le dossier s'apppele bien rep .
par contre pe etre cela vien de la cellule je doit l'avoir selectionner avant de faire la macro ?
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
Non pas besoin de sélectionner la cellule, la variable est créée avec la valeur de la cellule M16 de la feuille active.
Peux-tu re-coller ton code, y' qqchose que je ne saisis pas (ça fonctionne bien chez moi) ?
0
tonny43
 
re
c'est bon ca marche mais il faut que je selectionner toute les cellule de la fenetre active en faite et la ca marche maintenant j'aimerai que ca me la selectionne tte seul cette feuille active mais oci je t'explique
Sub MACRO()

rep = "\\Socam-svr\AXESYT\" & ActiveSheet.Range("M16").Value

MkDir rep donc la ca me cree mon dossier de la cellule m16 super


Sheets("PIBTD2").Select la par contre j'aimerai que je selection la fenetre que je veut eregister ou par un autre moyen
Sheets("PIBTD2").Copy

ActiveWorkbook.SaveAs Filename:=rep & "\LANCEMENT.xlsx"
End Sub
0
tonny43
 
re,
tous marche c'est super
petite question peut on deverouiller une fenetre par une macro et seletionner ensuite toutes les cellule ?
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
j'imagine que qd tu parles de fenetre c'est une feuille/onglet excel ?
Sheets("PIBTD2").Unprotect(motdepasse)
0
tonny43
 
oui l'onglet par contre comment puis je la verouille ensuite dans la macro ?
merci
0
tonny43
 
oui je parle de l'onglet dsl
ok
pour le verrouiller ensuite et mettre un mots de passe comment doit je faire dans la macro
merci
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Re,
Sheets("PIBTD2").Unprotect(motdepasse)
tu fais tes trucs....
Sheets("PIBTD2").Protect(motdepasse)
0
tonny43
 
MERCI POUR TOUS C4EST SUPER BIEN CONTENT
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Content d'avoir pu aider :) et....joyeux noël ! (je passe le post en "résolu")
0
tonny43
 
merci pr tout passer de bonne fetes et une bonne fin d'année
0