VBA, nommer nouvelle page et message si déjà existant

Le
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 ?

Pour le moment, je n'ai que :

Fle = ActiveSheet.Name

et si le nom existe déjà, ma macro "plante" !

Merci d'avance
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19752931
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
Le #19753301
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





Daniel.C
Le #19753291
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









Le G
Le #19753431
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
>
>
>


Le G
Le #19753421
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
>>
>>
>>





Publicité
Poster une réponse
Anonyme