XL 2021 Nom de feuille vba

  • Initiateur de la discussion Initiateur de la discussion 89ric
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

89ric

XLDnaute Junior
Bonjour, je cherche à renvoyer dans une cellule d'une feuille copiée et renommée avec une textbox (il s'agit d'un date du style "21 janvier") le nom de cette feuille mais je rencontre une erreur que je ne parviens pas à résoudre. J'ai parcouru divers forums mais après plusieurs heures de recherche, je ne sais plus où chercher... Pouvez-vous m'aider ?
Je vous remercie d'avance.
Voici le code:

Private Sub CommandButton1_Click()
Dim Nomfeuille As String

derligne = Sheets("Bilan").Range("C456541").End(xlUp).Row + 1
Sheets("Bilan").Cells(derligne, 3) = UserForm1.TextBox1

Sheets("Modèle").Copy After:=Sheets("Bilan")
ActiveSheet.Name = TextBox1
Nomfeuille = ActiveSheet.Name
ActiveSheet.Select

ActiveSheet.Cells(1, 6).Formula = "=" & Nomfeuille
ActiveSheet.Cells(1, 11).Formula = "=Bilan!H2"

Sheets("Bilan").Cells(derligne, 4).Formula = "=" & Nomfeuille & "!K9"
Sheets("Bilan").Cells(derligne, 5).Formula = "=" & Nomfeuille & "!M9"
Sheets("Bilan").Cells(derligne, 6).Formula = "=" & Nomfeuille & "!L9"

ActiveSheet.Select

Unload UserForm1

End Sub

Je vous joins le fichier.
 

Pièces jointes

Bonjour,

je cherche à renvoyer dans une cellule d'une feuille copiée et renommée avec une textbox (il s'agit d'un date du style "21 janvier") le nom de cette feuille mais je rencontre une erreur que je ne parviens pas à résoudre.
Il ne faut pas utiliser ActiveSheet.Cells(1, 6).Formula = "=" & Nomfeuille
mais simplement ActiveSheet.Cells(1, 6).Vaue = Nomfeuille

Il y a un autre problème dans ta macro : si le tableau est vide, le calcul de DerLigne est faux à cause des cellules C4 et C5 fusionnées.
J'ai donc défusionné les deux cellules et écrit "Dates" en C5 (à l'encre invisible... 😁).

Une proposition en pièce jointe.


ps : tu devrais peut-être utiliser un Tableau Structuré pour ta feuille "Bilan".
 

Pièces jointes

Dernière édition:
Bonjour,

Un code a tester...
Code:
Sub a()
    Dim NomFeuille As String
    Dim x As Integer
 
    NomFeuille = "21/01/2024"
    GoSub CheckNomFeuille
 
    NomFeuille = Replace(NomFeuille, "/", "-")
    GoSub CheckNomFeuille
    Exit Sub
 
CheckNomFeuille:
    x = VérifierNomFeuille(NomFeuille)
    If x = 0 Then
        MsgBox "Le nom de la feuille """ & NomFeuille & """ est correct !"
    Else
        MsgBox "Le nom de la feuille """ & NomFeuille & """ contient un caractère interdit en position " & x & " !"
    End If
    Return
End Sub

'---------------------------------------------------------------
'Vérifier si un nom de feuille contient des caractères interdits
'---------------------------------------------------------------
Function VérifierNomFeuille(NomFeuille As String) As Integer
    Dim TabCaractèresInterdits() As String
    Dim i As Integer
    Dim k As Integer
    '
    Const ListeCaractèresInterdits = "\,/,"",*,[,],:,?"
    TabCaractèresInterdits = Split(ListeCaractèresInterdits, ",")
    
    For i = LBound(TabCaractèresInterdits) To UBound(TabCaractèresInterdits)
        k = InStr(NomFeuille, TabCaractèresInterdits(i))
        If Not k = 0 Then Exit For
    Next i
  
    If i <= UBound(TabCaractèresInterdits) Then
        VérifierNomFeuille = k
    Else
        VérifierNomFeuille = 0
    End If
End Function
 
Bonjour,


Il ne faut pas utiliser ActiveSheet.Cells(1, 6).Formula = "=" & Nomfeuille
mais simplement ActiveSheet.Cells(1, 6).Vaue = Nomfeuille

Il y a un autre problème dans ta macro : si le tableau est vide, le calcul de DerLigne est faux à cause des cellules C4 et C5 fusionnées.
J'ai donc défusionné les deux cellules et écrit "Dates" en C5 (à l'encre invisible... 😁).

Une proposition en pièce jointe.


ps : tu devrais peut-être utiliser un Tableau Structuré pour ta feuille "Bilan".
Super! Un grand merci, ça fonctionne! Et effectivement, j'avais aussi ce problème avec le calcul de Derligne que je ne m'expliquais pas... Et merci pour la réponse ultra rapide!!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
546
Réponses
17
Affichages
1 K
Retour