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 !

Sébastien Delisle

XLDnaute Nouveau
Salut voici un code VBA qui fonctionne pour ajouter et renommer une feuille de calcule Excel par contre si l'utilisateur entre le nom d'une feuille déjà existante il y a une erreur. Je veux qu'en cas d'erreur un input box ouvre Vbyesno pour lui demander d'entrer un nouveau nom ou exit sub voi mon code


Private Sub Workbook_Open()

Dim Rep As Integer
Dim Mat As String
Dim rEp2 As Integer


Rep = MsgBox("Voulez-vous ajouter un employé au fichier de suivi?", vbYesNo + vbQuestion, "Ouverture du fichier")
If Rep = vbYes Then


Mat = InputBox("Quel est le matricule de l'employé à ajouter?")


Sheets.Add.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Mat
On Error GoTo 0
Sheets("Master").Select
Cells.Select
Selection.Copy
Sheets(Mat).Select
Cells.Select
ActiveSheet.Paste
Range("H6") = Mat

Else

Exit Sub


End If
End Sub
 
Bonjour,

ceci devrait fonctionner 🙂

Function IsSheetExists(ByVal txt As String) As Boolean
On Error Resume Next
IsSheetExists = Len(Sheets(txt).Name)
On Error GoTo 0
End Function

Sub neww()
Dim Rep As Integer
Dim Mat As String
Dim rEp2 As Integer
Rep = MsgBox("Voulez-vous ajouter un employé au fichier de suivi?", vbYesNo + vbQuestion, "Ouverture du fichier")
If Rep = vbYes Then
Mat = InputBox("Quel est le matricule de l'employé à ajouter?")
If Not IsSheetExists(Mat) Then
Sheets.Add.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Mat
Else
MsgBox ("Sortie du prg, ce nom existe déjà !"): Exit Sub
End If
On Error GoTo 0
Sheets("Master").Select
Cells.Select
Selection.Copy
Sheets(Mat).Select
Cells.Select
ActiveSheet.Paste
Range("H6") = Mat
Else
Exit Sub
End If
End Sub
 
Bonjour,

ceci devrait fonctionner 🙂

Function IsSheetExists(ByVal txt As String) As Boolean
On Error Resume Next
IsSheetExists = Len(Sheets(txt).Name)
On Error GoTo 0
End Function

Sub neww()
Dim Rep As Integer
Dim Mat As String
Dim rEp2 As Integer
Rep = MsgBox("Voulez-vous ajouter un employé au fichier de suivi?", vbYesNo + vbQuestion, "Ouverture du fichier")
If Rep = vbYes Then
Mat = InputBox("Quel est le matricule de l'employé à ajouter?")
If Not IsSheetExists(Mat) Then
Sheets.Add.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Mat
Else
MsgBox ("Sortie du prg, ce nom existe déjà !"): Exit Sub
End If
On Error GoTo 0
Sheets("Master").Select
Cells.Select
Selection.Copy
Sheets(Mat).Select
Cells.Select
ActiveSheet.Paste
Range("H6") = Mat
Else
Exit Sub
End If
End Sub


Une erreur de compilation à l'ouverture du fichier
 
- 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
1
Affichages
197
Réponses
10
Affichages
394
Réponses
3
Affichages
687
Réponses
2
Affichages
538
Retour