Bonjour FORUM
je cherche un code qui me permet de créer une copie de l'onglet (activé) avec le code de cette feuille et le renommer (cellule bu8) dans le mème classeur.
Merci
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
Nom = ActiveSheet.Range("bu8")
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom
GestionErreur:
End Sub
Bonjour galougalou
merci pour la réponse c'est nickel.
je souhaite encore désactiver dans la feuille copie ce code ci dessous ( qui etait dans le feuille d’origine)
VB:
Private Sub Worksheet_Deactivate()
Me.Visible = xlSheetVeryHidden
End Sub
comment faire pour que la copie reste toujours visible
merci
re
bonjour
ben en fait tu peux faire un test name Private Sub Worksheet_Deactivate()
if me.name<>[BU8].value then Me.Visible = xlSheetVeryHidden
End Sub
comme ça l'events n'agira pas pas sur la copie
tu peux faire ton test sur le nom de la feuille originale aussi
Bonjour patricktoulon
Merci pour la réponse.
je m'explique dans la feuille originale j'ai des codes parmi ces code j'ai ce code ci-dessous
VB:
Private Sub Worksheet_Deactivate()
Me.Visible = xlSheetVeryHidden
End Sub
je souhaite désactiver plutôt le supprimer dans la feuille copie.
comment faire pour le supprimer par le code de GALOUGALOU?
Code:
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
Nom = ActiveSheet.Range("bu8")
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom
GestionErreur:
End Sub
Si l'on ne veut pas copier le VBA de la feuille source copier uniquement les cellules :
VB:
Sub ajoutonglet()
Dim F As Worksheet
Set F = ActiveSheet
With Sheets.Add(After:=Sheets(Sheets.Count))
On Error Resume Next
.Name = F.[BU8]
F.Cells.Copy .[A1] 'copier-coller
.UsedRange = F.UsedRange.Value 'facultatif, si l'on veut supprimer les formules
End With
End Sub
re chaelie 2015 bonjour job75/patricktoulon, bonsoir le forum
capturer dans une variable le nom de la feuille active et le nom de la feuille source,effectuer un test et si celui ci est vrai (correspond au nom de la feuille source) alors la macro est appliquée.
VB:
Public ws1 As String
Public ws2 As String
Private Sub Worksheet_Activate()
ws1 = Sheets("Feuil1").Name
ws2 = ActiveSheet.Name
End Sub
Private Sub Worksheet_Deactivate()
If ws1 = ws2 Then Sheets("Feuil1").Visible = xlSheetVeryHidden
End Sub
Si l'on ne veut pas copier le VBA de la feuille source copier uniquement les cellules :
VB:
Sub ajoutonglet()
Dim F As Worksheet
Set F = ActiveSheet
With Sheets.Add(After:=Sheets(Sheets.Count))
On Error Resume Next
.Name = F.[BU8]
F.Cells.Copy .[A1] 'copier-coller
.UsedRange = F.UsedRange.Value 'facultatif, si l'on veut supprimer les formules
End With
End Sub
Option Explicit
'Plus rapide job
Private Sub ToggleButton1_Click() ' le 1er code'
Protect "charlie 2005 Anvers", UserInterfaceOnly:=True
If ToggleButton1 Then
[BB20:BB154].AutoFilter 1, "<>M" 'filtre automatique
ToggleButton1.Caption = "Réinitialiser l'attachement"
Else
If FilterMode Then ShowAllData
ToggleButton1.Caption = "Afficher l'attachement"
End If
End Sub
Private Sub Worksheet_Deactivate()' le 2eme code'
Me.Visible = xlSheetVeryHidden
End Sub
je souhaite supprimer seulement le 2eme code lorse que je fais une copie de la feuille source.
merci
Avec la macro du post #7 Il peut y avoir une alerte quand on enregistre le fichier : image trop grande.
Il faut alors compléter la macro pour alléger la mémoire :
VB:
Sub ajoutonglet()
Dim F As Worksheet
Set F = ActiveSheet
On Error Resume Next
With Sheets.Add(After:=Sheets(Sheets.Count))
.Name = F.[BU8]
F.Cells.Copy .[A1] 'copier-coller
.UsedRange = F.UsedRange.Value 'facultatif, si l'on veut supprimer les formules
With .[A1].MergeArea 'si la cellule est fusionnée
.Copy .Cells 'allège la mémoire
.Merge
.Select
End With
End With
End Sub
Bonjour tout le monde
si vous permettez
le code du post # 2 de galougalou
VB:
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
Nom = ActiveSheet.Range("bu8")
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom
GestionErreur:
End Sub
il me convient mais je souhaite le modifier, en ajoutant un code qui supprime le code 2 de la feuille copiée.(mettre la feuille copie visible)
le code 2
Private Sub Worksheet_Deactivate()' le 2eme code'
Me.Visible = xlSheetVeryHidden
End Sub
Ce que je vous propose au fils 8 ne le supprime pas mais le désactive le résultat sera bien là il sera inopérant sur es feuilles différentes de la feuille source je ne suis pas devant mon ordi je vous fais un complément d'information ce soir si aucune solution n'a été trouvée cordialement Galou Galou