SueZollars
XLDnaute Nouveau
Bonjour tout le monde,
Bonjour a tous,
Je suis nouvelle ici et j'ai lu quelques discussions mais je n'ai rien trouve qui puisse resoudre mon probleme (ou je n'ai peut etre rien compris).
Je voudrai creer un classeur excel dont la premiere feuille serait le modele des feuilles qui seront generees par la suite. En gros, ce que j'essaye de faire sur cette 1ere feuille c'est :
Rentrer la date dans la cellule B1, la je voudrait qu'une nouvelle feuille se creee automatiquement, avec la date comme nom, et le meme format que la feuille 1
Si l'utilisateur entre une date dont l'onglet existe deja, la macro bug, ce qui est normal. Je voudrai donc que la macro teste d'abord si l'onglet existe deja. Si c'est le cas, je voudrai qu'une Msg Box apparaisse pour prevenir l'utilisateur de changer la date.
J'ai bidouille un test mais il ne fonctionne pas :
Je suis novice en Excel/VBA donc j'espere que j'ai ete claire, je ne suis meme pas sure de me comprendre moi meme...
Merci d'avance.
Bonjour a tous,
Je suis nouvelle ici et j'ai lu quelques discussions mais je n'ai rien trouve qui puisse resoudre mon probleme (ou je n'ai peut etre rien compris).
Je voudrai creer un classeur excel dont la premiere feuille serait le modele des feuilles qui seront generees par la suite. En gros, ce que j'essaye de faire sur cette 1ere feuille c'est :
Rentrer la date dans la cellule B1, la je voudrait qu'une nouvelle feuille se creee automatiquement, avec la date comme nom, et le meme format que la feuille 1
Si l'utilisateur entre une date dont l'onglet existe deja, la macro bug, ce qui est normal. Je voudrai donc que la macro teste d'abord si l'onglet existe deja. Si c'est le cas, je voudrai qu'une Msg Box apparaisse pour prevenir l'utilisateur de changer la date.
J'ai bidouille un test mais il ne fonctionne pas :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Intersect(Target, [B1]) Is Nothing Then
Else
For i = 1 To Sheets.Count
If [B1] = Sheets(i).Name Then
MsgBox "La feuille existe déjà !!!"
Exit Sub
End If
Next
ActiveWorkbook.Sheets(1).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = [B1]
End If
End Sub
Je suis novice en Excel/VBA donc j'espere que j'ai ete claire, je ne suis meme pas sure de me comprendre moi meme...
Merci d'avance.