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
Configuration: Windows XP Internet Explorer 7.0

10 réponses

  1. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
  2. tonny43
     
    merci deuxieme question :
    comment je peu attribuer une cellule donner a r ?
    0
  3. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
    1. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
    1. 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
  7. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
    1. 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
  8. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
    1. 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
    2. tonny43
       
      re,
      tous marche c'est super
      petite question peut on deverouiller une fenetre par une macro et seletionner ensuite toutes les cellule ?
      0
  9. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    Re,
    j'imagine que qd tu parles de fenetre c'est une feuille/onglet excel ?
    Sheets("PIBTD2").Unprotect(motdepasse)
    0
    1. tonny43
       
      oui l'onglet par contre comment puis je la verouille ensuite dans la macro ?
      merci
      0
    2. 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
  10. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    Re,
    Sheets("PIBTD2").Unprotect(motdepasse)
    tu fais tes trucs....
    Sheets("PIBTD2").Protect(motdepasse)
    0
    1. tonny43
       
      MERCI POUR TOUS C4EST SUPER BIEN CONTENT
      0
  11. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    Content d'avoir pu aider :) et....joyeux noël ! (je passe le post en "résolu")
    0
    1. tonny43
       
      merci pr tout passer de bonne fetes et une bonne fin d'année
      0