Bonjour à tous,
Si le nom comporte une apostrophe, il faut doubler l'apostrophe dans la formule ...
Un essai ...
Voir deux lignes avant le "End Sub".
Sub duplic()
Dim x
Dim NomFeuil As String ' << ajout ...
Dim Dlig As Integer ' << ajout ...
x = InputBox("Nom prénom et secteur du nouveau salarié")
If x = "" Then 'si bouton annuler ou croix rouge cliqué
MsgBox "Aucun salarié entré ! "
Exit Sub 'sort de la procédure
Else
Worksheets("aamodele").Select
Range("a2").Value = (x) 'Split(x, " ")(0) 'mets le résultat en cellule a2 de la feuille modele
'Range("d2").Value = Split(x, " ")(1)
'Range("e1").Value = Split(x, " ")(2)
End If
'duplique et renome la feuille "modele"
Worksheets("aamodele").Copy After:=Sheets(Worksheets.Count)
Set mysheet = ActiveSheet
ActiveSheet.Unprotect
With mysheet
.Name = (x) 'Split(x, " ")(0) & " " & Split(x, " ")(1)
End With
NomFeuil = mysheet.Name ' << ajout ...
ActiveSheet.Protect
'Modifier avec succés jusque la !!
Worksheets("accueil").Select
Dlig = Cells(Rows.Count, "A").End(xlUp).Row + 1 ' << ajout ...
Cells(Dlig, "A") = (x) 'Split(x, " ")(0)
' Cells(Dlig, "B") = Split(x, " ")(1)
' si le nom comporte une apostrophe, il faut la doubler dans la formule
If InStr(NomFeuil, "'") > 0 Then NomFeuil = Left(NomFeuil, InStr(NomFeuil, "'")) & "'" & Right(NomFeuil, Len(NomFeuil) - InStr(NomFeuil, "'"))
Cells(Dlig, "D").FormulaLocal = "='" & NomFeuil & "'!H1" ' << ajout ...
End Sub
ric