Attribuer un nom au classeur actif

Résolu
lepeno Messages postés 7 Statut Membre -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un bout de code qui me pose problème alors que je veux changer de classeur pour fermer masquer une feuille.

Sub Rectangle214_Click()
    Application.ScreenUpdating = False
    Sheets("1_global").Visible = True
    Sheets("1_global").Select
    Sheets("1_global").Copy
    Sheets("1_global").Visible = False
    Application.ScreenUpdating = True
End Sub


Sheets("1_global").Visible = False devrait masquer la feuille que j'ai précédemment copier mais je ne sais pas comment lui dire de le faire dans le classeur de départ. Sachant que ce classeur change de nom tous les mois.
J'imagine que ce que je dois faire est en début de macro d'attribuer un nom au classeur actif mais je ne sais pas comment faire.

Merci pour votre aide

5 réponses

  1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
     
    Cette macro se trouve donc dans le 2e classeur ?
    Et c'est le premier classeur qui change de nom tout les mois ?
    0
  2. lepeno Messages postés 7 Statut Membre
     
    Non ce code ce trouve dans le premier classeur qui s'appelle Dashboard&mois en cours (le nom changeant tous les mois). Je vais décrire les étapes de ce que je cherche c'est plus simple je pense.

    1/dans le premier classeur, afficher la feuille ("1_global")
    2/copier la feuille ("1_global")
    3/ouvrir un nouveau classeur
    4/proposer l'enregistrement de ce classeur (facultatif)
    5/re-masquer la feuille ("1_global") dans mon premier classeur
    6/afficher le nouveau classeur

    Merci
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Tu veux le code pour tout ça ?
      Ou juste pour le problème de copie ?
      0
    2. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Le nouveau classeur son nom est fixe ? Il existe déjà ?
      0
  3. lepeno Messages postés 7 Statut Membre
     
    J'ai déjà une partie:

    Sub Rectangle214_Click()
    Application.ScreenUpdating = False
    Sheets("1_global").Visible = True
    Sheets("1_global").Select
    Sheets("1_global").Copy
    Sheets("1_global").Visible = False
    Application.ScreenUpdating = True
    End Sub 


    mais avec ce code j'ai un bug car il ne peut pas revenir au premier classeur pour masquer l'onglet ("1_global")
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Moi je propos qqchose comme ca :
      Sub Rectangle214_Click()
      Application.ScreenUpdating = False
      Dim WB_name as String
      WB_name = activeworkbook.name
      activeworkbook.("1_global").Visible = True
      Sheets("1_global").Select
      Sheets("1_global").Copy
      Sheets("1_global").Visible = False
      WorkBooks.Add 
      ActiveWorkbook.SaveAs "C:\chemin\nom fichier voulu.xls" 
      activeworkbook.activeworksheet.paste
      Application.ScreenUpdating = True.
      End Sub 


      faudrait recontroler car la j'ai rien pour avoir la syntaxe exacte, mais en gros qqchose comme ca ?
      0
      1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55 > skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention  
         
        Si tu veux on peut, meme fermer le 1er classeur. Ou copier a un endroit special.
        0
  4. lepeno Messages postés 7 Statut Membre
     
    Le nouveau classeur n'existe pas et se crée avec la copie de la feuille
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lepeno Messages postés 7 Statut Membre
     
    Bonjour,

    J'ai intégré ton code, merci beaucoup.
    j'ai une erreur, Unable to set the visible property of the worksheet class.

    Le bug est sur cette ligne
    Sheets("1_global").Visible = False

    Sub Rectangle214_Click()
        Application.ScreenUpdating = False
        Dim WB_name As String
        WB_name = ActiveWorkbook.Name
        Sheets("1_global").Visible = True
        Sheets("1_global").Select
        Sheets("1_global").Copy
        Sheets("1_global").Visible = False
        Workbooks.Add
        ActiveWorkbook.SaveAs "C:\chemin\nom fichier voulu.xls"
        ActiveWorkbook.ActiveWorksheet.Paste
        Application.ScreenUpdating = True
    End Sub
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Si tu veux juste cacher la feuille, donc on peut la mettre visible manuellement en faisant, Format > Feuille > Afficher...
      Sheets("1_global").Visible = Hidden

      Si tu veux que la feuille soit uniquement affichable via macro
      Sheets("1_global").Visible = xlVeryHidden

      Et pour afficher c'est mieux de faire :

      Sheets("1_global").Visible = xlSheetVisible
      0
    2. lepeno Messages postés 7 Statut Membre
       
      Ce que je veux c'est que une fois que la feuille est copiée dans le nouveau classeur, elle soit re-cacher dans le classeur d'origine.
      0
      1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55 > lepeno Messages postés 7 Statut Membre
         
        Alirs prend le veryhidden
        0
    3. lepeno Messages postés 7 Statut Membre
       
      ok merci beaucoup pour ton aide
      0
      1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55 > lepeno Messages postés 7 Statut Membre
         
        De rien si tu as d'autres questions n'hesite pas. Et met le sujet "resolut"
        0