Attribuer un nom au classeur actif

Résolu
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
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

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Cette macro se trouve donc dans le 2e classeur ?
Et c'est le premier classeur qui change de nom tout les mois ?
0
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Tu veux le code pour tout ça ?
Ou juste pour le problème de copie ?
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Le nouveau classeur son nom est fixe ? Il existe déjà ?
0
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54 > 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
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Le nouveau classeur n'existe pas et se crée avec la copie de la feuille
0

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

Posez votre question
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54 > lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Alirs prend le veryhidden
0
lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci beaucoup pour ton aide
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54 > lepeno Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
De rien si tu as d'autres questions n'hesite pas. Et met le sujet "resolut"
0