XL 2021 Revenir à la dernière feuille "Créée"

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous :)

LOL, en voilà une bien bonne :)
Je cherche à revenir ou à activer la dernière feuille que j'ai crée...

Particularité :
La feuille crée à le nom de Feuil1 et ensuite je la renomme pour qu'elle ait le nom de mon Client
Pour l'exemple : "A moi les petites Olé Olé P" ou "A moi les p'tits mectons"

Besoin
APRES AVOIR CREE MA NOUVELLE FEUILLE…
Jai activé plusieurs feuilles à la suite et je suis sur une autre feuille active

J'ai besoin de revenir (activer) ma dernière feuille créée soit : "A moi les petites Olé Olé P"ou "A moi les p'tits mectons" selon le nom donné

Je sais comment revenir sur la feuille activée précédemment
Mais je ne trouve rien sur le net pour revenir à la dernière feuille créée

Si mon sujet retient votre attention
Pour test et pour vous expliquer ce que je fais, voici mes actions
:
A partir de la feuille "Facture"
1 en A1, j'entre le n° du Client, 1 ou 2
2 en L33, j'entre le n° du Pack de 2,3 ou 4
3 ma facture se fait et je clique sur le bouton "Go Facture"
4 mon code m'ouvre une nouvelle feuilX que je renomme (toujours avec mon code) du nom de mon Client

En espérant que vous m'aurez compris, auriez-vous la solution ?
Un grand merci à toutes et à tous,
Je joins le fichier test et je continue mes recherches...
:)
 

Pièces jointes

  • Facturation Mois test4.xlsm
    289.2 KB · Affichages: 4
Dernière édition:
Solution
Bonjour à tous,
sauvegarde son nom dans un nom :
VB:
Sub sauverDerF()
    ' créer et renommer ta feuille puis :
    ActiveWorkbook.Names.Add Name:="dernièreFeuille", RefersToR1C1:=ActiveSheet.Name
End Sub

Sub actDerF()
    Worksheets([dernièreFeuille]).Activate
End Sub

Reste accessible même si le fichier a été fermé
eric

eriiic

XLDnaute Barbatruc
Bonjour à tous,
sauvegarde son nom dans un nom :
VB:
Sub sauverDerF()
    ' créer et renommer ta feuille puis :
    ActiveWorkbook.Names.Add Name:="dernièreFeuille", RefersToR1C1:=ActiveSheet.Name
End Sub

Sub actDerF()
    Worksheets([dernièreFeuille]).Activate
End Sub

Reste accessible même si le fichier a été fermé
eric
 

Usine à gaz

XLDnaute Barbatruc
Bonsoir :)
NON, je voudrais y revenir par code macro :)
En fait, j'ai besoin de :
dans le code de Facturation Sub Archivage()
de méroriser la feuille créée et d'y revenir à ces niveaux :
Code:
Impres_feuilles
    [a1].Select
    If [ad53] < 0 Then
    ActiveSheet.Name = Range("f9") & " av"
    End If
    'ICI Nbr RdV - MEMORISER LA FEUILLE CREEE ET RENOMMEE
    If [j33] > 0 Then
    ActiveSheet.Name = Range("f9") & " P"
   
    'ICI Nbr RdV - MEMORISER LA FEUILLE CREEE ET RENOMMEE
    End If
   
    'UN AUTRE CODE SERA ICI
    'ICI NETOUR A LA FEUILLE CREEE ET RENOMMEE
    If [j33] = "" Then
:)
 

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous,
sauvegarde son nom dans un nom :
VB:
Sub sauverDerF()
    ' créer et renommer ta feuille puis :
    ActiveWorkbook.Names.Add Name:="dernièreFeuille", RefersToR1C1:=ActiveSheet.Name
End Sub

Sub actDerF()
    Worksheets([dernièreFeuille]).Activate
End Sub

Reste accessible même si le fichier a été fermé
eric
Bonjour eriiic :), le Forum :)
Super et du 1er coup lol
Pourtant mes explications n'étaient peut-être pas très claires.
C'est nickel
J'ai une questions : "Reste accessible même si le fichier a été fermé"
Comment ça fonctionne ?
Merci à toi :)
 

TooFatBoy

XLDnaute Barbatruc
'ICI Nbr RdV - MEMORISER LA FEUILLE CREEE ET RENOMMEE
Avant de mémoriser la feuille créée, il faudrait la créer...

Ensuite, puisque tu sais où tu dois créer et mémoriser ta feuille, tu n'as plus qu'à faire comme j'ai dit plus haut (mémoriser le nom dans une variable globale), ou faire comme a dit eriiic (attribuer le nom à la feuille dans le gestionnaire de noms).
 

Usine à gaz

XLDnaute Barbatruc
Avant de mémoriser la feuille créée, il faudrait la créer...

Ensuite, puisque tu sais où tu dois créer et mémoriser ta feuille, tu n'as plus qu'à faire comme j'ai dit plus haut (mémoriser le nom dans une variable globale), ou faire comme a dit eriiic (attribuer le nom à la feuille dans le gestionnaire de noms).
Bjr et merci à toi pour tes retours :)

eriiic m'a donné la solution au #Post2​

:)
 

job75

XLDnaute Barbatruc
Bonjour Lionel, le fil,

Perso j'utiliserai l'evènement Workbook_NewSheet et mettrai dans ThisWorkbook :
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Me.Names.Add "DerFeuille", Sh.Name 'crée le nom défini
End Sub

Sub Activer_DerFeuille()
'se lance par les touches Ctrl+D
On Error Resume Next
With Sheets([DerFeuille])
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
End With
End Sub
Si l'on veut on peut masquer le nom défini avec le code :
VB:
Me.Names.Add "DerFeuille", Sh.Name, Visible:=False 'crée le nom défini masqué
A+
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Lionel, le fil,

Perso j'utiliserai l'evènement Workbook_NewSheet et mettrai dans ThisWorkbook :
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Me.Names.Add "DerFeuille", Sh.Name 'crée le nom défini
End Sub

Sub Activer_DerFeuille()
'se lance par les touches Ctrl+D
On Error Resume Next
With Sheets([DerFeuille])
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
End With
End Sub
Si l'on veut on peut masquer le nom défini avec le code :
VB:
Me.Names.Add "DerFeuille", Sh.Name, Visible:=False 'crée le nom défini masqué
A+
Bonjour Gérard, merci pour ton code :)
Je testerai ce soir :)
 

eriiic

XLDnaute Barbatruc
Bonjour Lionel, le fil,

Perso j'utiliserai l'evènement Workbook_NewSheet et mettrai dans ThisWorkbook :
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Me.Names.Add "DerFeuille", Sh.Name 'crée le nom défini
End Sub

Sub Activer_DerFeuille()
'se lance par les touches Ctrl+D
On Error Resume Next
With Sheets([DerFeuille])
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
End With
End Sub
Si l'on veut on peut masquer le nom défini avec le code :
VB:
Me.Names.Add "DerFeuille", Sh.Name, Visible:=False 'crée le nom défini masqué
A+
Bonjour,
sauf qu'il renomme la feuille...
eric
 

Discussions similaires

Réponses
6
Affichages
390

Statistiques des forums

Discussions
315 093
Messages
2 116 133
Membres
112 667
dernier inscrit
foyoman