Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur de VBA

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
 

gosselien

XLDnaute Barbatruc
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
 

Sébastien Delisle

XLDnaute Nouveau


Une erreur de compilation à l'ouverture du fichier
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…