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