• Initiateur de la discussion Initiateur de la discussion biomed
  • 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 !

B

biomed

Guest
Bonjour a toutes et a toutes
Pourriezvous m'expliquer comment nommer une cellule en fonction du nom de la feuille cree automatiquement
je m'explique:
Dans un classeur, j'ai un bouton qui me lance un userform pour creer une feuille en la nommant, j'aurais aime que dans une cellule, le nom de la feuille apparaisse lors de sa creation
Merci d'avance 🙂
 
Salut

C'est tres simple :
Dans cet exemple j'ai crée un bouton

Private Sub CommandButton1_Click()
lig = 1
For i = 1 To Sheets.Count ' nombre de feuilles du classeur
celA = 'A' & lig
Range(celA).Value = Sheets(i).Name ' la cellule A1 au depart prend
' la valeur du nom de la feuille
lig = lig + 1
Next i
End Sub

c'est juste un exemple que tu dois adapter dans ton code, l'instruction
principale est 'sheets(i).name
J'ai mis la cellule en variable mais tu peux la mettre en dur si elle est fixe
Herve
 
bonjour a tous
je ne comprend pas ce qui ce passe car j'ai essaye les 2 codes proposes et cela ne fonctionne pas
pouvez-vous m'aider
je vous joint le code dans lequel je voudrais inclure cette fonction, peut etre que cela viens de la
merci d'avance
le code:

Sub NouvelleFeuille()

Dim Sh As Worksheet
Dim Reponse As String
Dim MonNom As String
Dim BonNom As Boolean
Dim LeString
LeString = ':\\/?*[]'

Do
BonNom = True
Reponse = InputBox('Quel nom désirez-vous donner au' _
+ vbCrLf + 'nouveau Générateur?', _
'DESIGATION DU DM ', MonNom)
If Reponse <> '' Then
'Vérifier que le nom n'existe pas déjà...
For a = 1 To ActiveWorkbook.Worksheets.Count
If UCase(Reponse) = UCase(Worksheets(a).Name) Then
supp = MsgBox( _
'Vous possédez une feuille portant déjà ce nom,' _
+ vbCrLf + vbCrLf + _
'Désirez-vous la remplacer?.', vbYesNo + vbOKOnly, _
'Nom existant déjà')
If supp = vbYes Then
Application.DisplayAlerts = False
Worksheets(Reponse).Delete
Application.DisplayAlerts = True
Exit For
Else
BonNom = False
MonNom = Reponse
Exit For
End If
End If
Next

'Vérifier que le nombre de caractères du nom ne dépassent 31...
If Len(Reponse) > 31 Then
MsgBox 'Le nombre de caractères (' & _
Len(Reponse) & ') de votre nom dépasse' _
+ vbCrLf + ' celui permis (31) par excel.', _
vbCritical + vbInformation, 'Nom trop long'
BonNom = False
MonNom = Reponse
End If

'Vérifier l'emploi de caractères interdits...dans le nom
For a = 1 To Len(LeString)
If InStr(1, Reponse, Mid(LeString, a, 1), vbTextCompare) > 0 Then
MsgBox 'Les caractères suivants: ' & _
LeString & ' sont interdits' _
+ vbCrLf + 'dans le nom d'une feuille.', _
vbCritical + vbOKOnly, 'Caractère interdit'
BonNom = False
MonNom = Reponse
Exit For
End If
Next
Else
Exit Sub
End If
Loop Until BonNom = True
Worksheets('Model1').Copy After:=Worksheets(Worksheets.Count)
Set Sh = ActiveSheet
Sh.Name = Reponse

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
162
Réponses
3
Affichages
219
Réponses
43
Affichages
728
Retour