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 -
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.
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
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
-
Cette macro se trouve donc dans le 2e classeur ?
Et c'est le premier classeur qui change de nom tout les mois ? -
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 -
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")-
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 ?
-
-
Le nouveau classeur n'existe pas et se crée avec la copie de la feuille
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 = FalseSub 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-
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 -
-
-