VBA, nommer nouvelle page et message si déjà existant
5 réponses
Le G
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
déjà, arrêter ma macro et générer un messgage d'avertissement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. 2 façons de faire :
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe déjà, arrêter ma macro et générer un messgage d'avertissement ?
Pour le moment, je n'ai que :
Fle = ActiveSheet.Name
et si le nom existe déjà, ma macro "plante" !
Merci d'avance
Bonjour.
2 façons de faire :
On Error Resume Next
Sheet(fle).Select
If Err.Number <> 0 Then
Err.Clear
ActiveSheet.Name = fle
End If
On Error GoTo 0
ou :
Existe = False
For Each sh In Sheets
If sh.Name = fle Then
Existe = True
Exit For
End If
net sh
If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
déjà, arrêter ma macro et générer un messgage d'avertissement ?
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe déjà, arrêter ma macro et générer un messgage d'avertissement ?
Pour le moment, je n'ai que :
Fle = ActiveSheet.Name
et si le nom existe déjà, ma macro "plante" !
Merci d'avance
Le G
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour. 2 façons de faire :
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
> Salut à tous ! > > Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction > du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe > déjà, arrêter ma macro et générer un messgage d'avertissement ? > > Pour le moment, je n'ai que : > > Fle = ActiveSheet.Name > > et si le nom existe déjà, ma macro "plante" ! > > Merci d'avance
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name =
Fle),
mais j'ai quand même tenté ca :
*******************************************************
'Msg en cas de page déjà existante
ActiveSheet.Name = Fle
On Error Resume Next
If Err.Number <> 0 Then
Err.Clear
MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe
déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur"
End If
On Error GoTo 0
*******************************************************
Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et
c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour.
2 façons de faire :
On Error Resume Next
Sheet(fle).Select
If Err.Number <> 0 Then
Err.Clear
ActiveSheet.Name = fle
End If
On Error GoTo 0
ou :
Existe = False
For Each sh In Sheets
If sh.Name = fle Then
Existe = True
Exit For
End If
net sh
If Existe = False Then ActiveSheet.Name = fle
Daniel
> Salut à tous !
>
> Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
> du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
> déjà, arrêter ma macro et générer un messgage d'avertissement ?
>
> Pour le moment, je n'ai que :
>
> Fle = ActiveSheet.Name
>
> et si le nom existe déjà, ma macro "plante" !
>
> Merci d'avance
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour. 2 façons de faire :
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
> Salut à tous ! > > Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction > du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe > déjà, arrêter ma macro et générer un messgage d'avertissement ? > > Pour le moment, je n'ai que : > > Fle = ActiveSheet.Name > > et si le nom existe déjà, ma macro "plante" ! > > Merci d'avance
Daniel.C
Pas vu mon erreur ? Modifie :
On Error Resume Next ActiveSheet.Name = Fle If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0
Daniel
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour. 2 façons de faire :
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe déjà, arrêter ma macro et générer un messgage d'avertissement ?
Pour le moment, je n'ai que :
Fle = ActiveSheet.Name
et si le nom existe déjà, ma macro "plante" !
Merci d'avance
Pas vu mon erreur ?
Modifie :
On Error Resume Next
ActiveSheet.Name = Fle
If Err.Number <> 0 Then
Err.Clear
MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") &
"existe
déjà ! veuillez corriger votre saisie.", vbExclamation, "Message
Erreur"
End If
On Error GoTo 0
Daniel
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name =
Fle),
mais j'ai quand même tenté ca :
*******************************************************
'Msg en cas de page déjà existante
ActiveSheet.Name = Fle
On Error Resume Next
If Err.Number <> 0 Then
Err.Clear
MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe
déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur"
End If
On Error GoTo 0
*******************************************************
Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et
c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour.
2 façons de faire :
On Error Resume Next
Sheet(fle).Select
If Err.Number <> 0 Then
Err.Clear
ActiveSheet.Name = fle
End If
On Error GoTo 0
ou :
Existe = False
For Each sh In Sheets
If sh.Name = fle Then
Existe = True
Exit For
End If
net sh
If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
déjà, arrêter ma macro et générer un messgage d'avertissement ?
On Error Resume Next ActiveSheet.Name = Fle If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0
Daniel
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
Bonjour. 2 façons de faire :
On Error Resume Next Sheet(fle).Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = fle End If On Error GoTo 0 ou :
Existe = False For Each sh In Sheets If sh.Name = fle Then Existe = True Exit For End If net sh If Existe = False Then ActiveSheet.Name = fle
Daniel
Salut à tous !
Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe déjà, arrêter ma macro et générer un messgage d'avertissement ?
Pour le moment, je n'ai que :
Fle = ActiveSheet.Name
et si le nom existe déjà, ma macro "plante" !
Merci d'avance
Le G
Après avoir cherché un peu, ca donne ca :
************************************************************ 'Msg en cas de page déjà existante On Error Resume Next Sheets("Souche (2)").Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = Fle End If On Error GoTo MSG
MSG: MsgBox "La semaine " & (TB_Semaine) & " de l'année " & (TB_Année) & " existe déjà ! Veuillez recommencer votre saisie.", vbExclamation, "Message Erreur" *********************************************************
Seulement, la feuille ne se renome plus, et le MsgBox apparaît à chaque fois !
Help..... ;o)
"Le G" a écrit :
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
> Bonjour. > 2 façons de faire : > > On Error Resume Next > Sheet(fle).Select > If Err.Number <> 0 Then > Err.Clear > ActiveSheet.Name = fle > End If > On Error GoTo 0 > ou : > > Existe = False > For Each sh In Sheets > If sh.Name = fle Then > Existe = True > Exit For > End If > net sh > If Existe = False Then ActiveSheet.Name = fle > > Daniel > > > > Salut à tous ! > > > > Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction > > du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe > > déjà, arrêter ma macro et générer un messgage d'avertissement ? > > > > Pour le moment, je n'ai que : > > > > Fle = ActiveSheet.Name > > > > et si le nom existe déjà, ma macro "plante" ! > > > > Merci d'avance > > >
Après avoir cherché un peu, ca donne ca :
************************************************************
'Msg en cas de page déjà existante
On Error Resume Next
Sheets("Souche (2)").Select
If Err.Number <> 0 Then
Err.Clear
ActiveSheet.Name = Fle
End If
On Error GoTo MSG
MSG:
MsgBox "La semaine " & (TB_Semaine) & " de l'année " & (TB_Année) & "
existe déjà ! Veuillez recommencer votre saisie.", vbExclamation, "Message
Erreur"
*********************************************************
Seulement, la feuille ne se renome plus, et le MsgBox apparaît à chaque fois !
Help..... ;o)
"Le G" a écrit :
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name =
Fle),
mais j'ai quand même tenté ca :
*******************************************************
'Msg en cas de page déjà existante
ActiveSheet.Name = Fle
On Error Resume Next
If Err.Number <> 0 Then
Err.Clear
MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe
déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur"
End If
On Error GoTo 0
*******************************************************
Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et
c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
> Bonjour.
> 2 façons de faire :
>
> On Error Resume Next
> Sheet(fle).Select
> If Err.Number <> 0 Then
> Err.Clear
> ActiveSheet.Name = fle
> End If
> On Error GoTo 0
> ou :
>
> Existe = False
> For Each sh In Sheets
> If sh.Name = fle Then
> Existe = True
> Exit For
> End If
> net sh
> If Existe = False Then ActiveSheet.Name = fle
>
> Daniel
>
>
> > Salut à tous !
> >
> > Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
> > du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
> > déjà, arrêter ma macro et générer un messgage d'avertissement ?
> >
> > Pour le moment, je n'ai que :
> >
> > Fle = ActiveSheet.Name
> >
> > et si le nom existe déjà, ma macro "plante" !
> >
> > Merci d'avance
>
>
>
************************************************************ 'Msg en cas de page déjà existante On Error Resume Next Sheets("Souche (2)").Select If Err.Number <> 0 Then Err.Clear ActiveSheet.Name = Fle End If On Error GoTo MSG
MSG: MsgBox "La semaine " & (TB_Semaine) & " de l'année " & (TB_Année) & " existe déjà ! Veuillez recommencer votre saisie.", vbExclamation, "Message Erreur" *********************************************************
Seulement, la feuille ne se renome plus, et le MsgBox apparaît à chaque fois !
Help..... ;o)
"Le G" a écrit :
Hello !
Merci pour ta réponse !
J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = Fle), mais j'ai quand même tenté ca :
******************************************************* 'Msg en cas de page déjà existante ActiveSheet.Name = Fle On Error Resume Next If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0 ******************************************************* Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
"Daniel.C" a écrit :
> Bonjour. > 2 façons de faire : > > On Error Resume Next > Sheet(fle).Select > If Err.Number <> 0 Then > Err.Clear > ActiveSheet.Name = fle > End If > On Error GoTo 0 > ou : > > Existe = False > For Each sh In Sheets > If sh.Name = fle Then > Existe = True > Exit For > End If > net sh > If Existe = False Then ActiveSheet.Name = fle > > Daniel > > > > Salut à tous ! > > > > Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction > > du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe > > déjà, arrêter ma macro et générer un messgage d'avertissement ? > > > > Pour le moment, je n'ai que : > > > > Fle = ActiveSheet.Name > > > > et si le nom existe déjà, ma macro "plante" ! > > > > Merci d'avance > > >
Le G
Oups, oublie mon dernier poste, ils s'est croisé avec le tiens !
Effectivement, ca marche super comme ca ! Et effectivement, ca fais moins mal aux yeux... Merci beaucoup...
"Daniel.C" a écrit :
Pas vu mon erreur ? Modifie :
On Error Resume Next ActiveSheet.Name = Fle If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0
Daniel
> Hello ! > > Merci pour ta réponse ! > > J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = > Fle), > mais j'ai quand même tenté ca : > > ******************************************************* > 'Msg en cas de page déjà existante > ActiveSheet.Name = Fle > On Error Resume Next > If Err.Number <> 0 Then > Err.Clear > MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe > déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" > End If > On Error GoTo 0 > ******************************************************* > Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et > c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur. > > "Daniel.C" a écrit : > >> Bonjour. >> 2 façons de faire : >> >> On Error Resume Next >> Sheet(fle).Select >> If Err.Number <> 0 Then >> Err.Clear >> ActiveSheet.Name = fle >> End If >> On Error GoTo 0 >> ou : >> >> Existe = False >> For Each sh In Sheets >> If sh.Name = fle Then >> Existe = True >> Exit For >> End If >> net sh >> If Existe = False Then ActiveSheet.Name = fle >> >> Daniel >> >> >>> Salut à tous ! >>> >>> Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction >>> du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe >>> déjà, arrêter ma macro et générer un messgage d'avertissement ? >>> >>> Pour le moment, je n'ai que : >>> >>> Fle = ActiveSheet.Name >>> >>> et si le nom existe déjà, ma macro "plante" ! >>> >>> Merci d'avance >> >> >>
Oups, oublie mon dernier poste, ils s'est croisé avec le tiens !
Effectivement, ca marche super comme ca !
Et effectivement, ca fais moins mal aux yeux... Merci beaucoup...
"Daniel.C" a écrit :
Pas vu mon erreur ?
Modifie :
On Error Resume Next
ActiveSheet.Name = Fle
If Err.Number <> 0 Then
Err.Clear
MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") &
"existe
déjà ! veuillez corriger votre saisie.", vbExclamation, "Message
Erreur"
End If
On Error GoTo 0
Daniel
> Hello !
>
> Merci pour ta réponse !
>
> J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name =
> Fle),
> mais j'ai quand même tenté ca :
>
> *******************************************************
> 'Msg en cas de page déjà existante
> ActiveSheet.Name = Fle
> On Error Resume Next
> If Err.Number <> 0 Then
> Err.Clear
> MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe
> déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur"
> End If
> On Error GoTo 0
> *******************************************************
> Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et
> c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur.
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> 2 façons de faire :
>>
>> On Error Resume Next
>> Sheet(fle).Select
>> If Err.Number <> 0 Then
>> Err.Clear
>> ActiveSheet.Name = fle
>> End If
>> On Error GoTo 0
>> ou :
>>
>> Existe = False
>> For Each sh In Sheets
>> If sh.Name = fle Then
>> Existe = True
>> Exit For
>> End If
>> net sh
>> If Existe = False Then ActiveSheet.Name = fle
>>
>> Daniel
>>
>>
>>> Salut à tous !
>>>
>>> Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction
>>> du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe
>>> déjà, arrêter ma macro et générer un messgage d'avertissement ?
>>>
>>> Pour le moment, je n'ai que :
>>>
>>> Fle = ActiveSheet.Name
>>>
>>> et si le nom existe déjà, ma macro "plante" !
>>>
>>> Merci d'avance
>>
>>
>>
Oups, oublie mon dernier poste, ils s'est croisé avec le tiens !
Effectivement, ca marche super comme ca ! Et effectivement, ca fais moins mal aux yeux... Merci beaucoup...
"Daniel.C" a écrit :
Pas vu mon erreur ? Modifie :
On Error Resume Next ActiveSheet.Name = Fle If Err.Number <> 0 Then Err.Clear MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" End If On Error GoTo 0
Daniel
> Hello ! > > Merci pour ta réponse ! > > J'ai remarqué que mon poste n'était pas exact (actuel = ActiveSheet.Name = > Fle), > mais j'ai quand même tenté ca : > > ******************************************************* > 'Msg en cas de page déjà existante > ActiveSheet.Name = Fle > On Error Resume Next > If Err.Number <> 0 Then > Err.Clear > MsgBox "La semaine " & ("I1") & " de l'année " & ("K1") & "existe > déjà ! veuillez corriger votre saisie.", vbExclamation, "Message Erreur" > End If > On Error GoTo 0 > ******************************************************* > Seulement, à la ligne "ActiveSheet.Name = Fle", ca vient en erreur... Et > c'est à ce moment là que j'aimerais générer le MsgBox et annuler l'erreur. > > "Daniel.C" a écrit : > >> Bonjour. >> 2 façons de faire : >> >> On Error Resume Next >> Sheet(fle).Select >> If Err.Number <> 0 Then >> Err.Clear >> ActiveSheet.Name = fle >> End If >> On Error GoTo 0 >> ou : >> >> Existe = False >> For Each sh In Sheets >> If sh.Name = fle Then >> Existe = True >> Exit For >> End If >> net sh >> If Existe = False Then ActiveSheet.Name = fle >> >> Daniel >> >> >>> Salut à tous ! >>> >>> Dans VBA, j'utilise une feuille souche que je copie et renomme en fonction >>> du champ "Fle" d'un UserForm. Comment détecter si ce nom de feuille existe >>> déjà, arrêter ma macro et générer un messgage d'avertissement ? >>> >>> Pour le moment, je n'ai que : >>> >>> Fle = ActiveSheet.Name >>> >>> et si le nom existe déjà, ma macro "plante" ! >>> >>> Merci d'avance >> >> >>