Copie feuille excel

  • Initiateur de la discussion Riri
  • Date de début
R

Riri

Guest
Bonsoir le forum ,

à toutes et à tous ,

Dans un USF j'ai un textbox ou je saisie le nom d'une feuille , mon problème est que si la feuille existe déjà je voudrai envoyer un message pour dire par exemple " si la feuille1 existe déjà veuiller saisir un autre Nom "
Merci pour l'aide que vous pourrez m'apporter

PS fichier joint pour plus d'explication Merci

Riri
 

Pièces jointes

  • Copie_de_feuille.zip
    12.6 KB · Affichages: 17
  • Copie_de_feuille.zip
    12.6 KB · Affichages: 18
  • Copie_de_feuille.zip
    12.6 KB · Affichages: 16
@

@+Thierry

Guest
Re: Copie feuille excel => Gestion d'Erreur / ErrorHandler

Bonsoir Riri, le Forum,

On pourrait aussi boucler sur les feuilles existantes, mais je te propose un gestionnaire d'erreur, plus rapide si tu as beaucoup de feuilles (vu que tu gères des Comptes, j'imagine qu'il y en aura beaucoup)

Private Sub ComdValider_Click()

'Si le TextBox égale rien alors on envois un message
If TextBoxNouveauCompte = "" Then MsgBox "VEUILLER SAISIR LE NOM DU NOUVEAU COMPTE", vbOKOnly + vbInformation, " Saisie Incomplète": Exit Sub

'Ici on crée la copie du Modèle
Worksheets("Modèle").Copy after:=Worksheets("Modèle")

'On donne le Nom du nouveau compte à la nouvelle feuille
'mais on place un gestionnaire d'erreur
On Error GoTo ErrorHandler
ActiveSheet.Name = UCase(Me.TextBoxNouveauCompte)

'si tutti va bene ... On décharge le UserForm2
Unload Me

'Si il y a erreur
ErrorHandler:
'si l'erreur est bien le même nom de feuille (erreur 1004)
If Err = 1004 Then
MsgBox "La Feuille " & TextBoxNouveauCompte & " existe déjà ", vbCritical

'on remet le Focus en sélectionnant le text dans la TextBox
With Me.TextBoxNouveauCompte
.SetFocus
.SelStart = 0
.SelLength = Len(Me.TextBoxNouveauCompte)
End With

Else
'si c'est une autre erreur...
MsgBox "Une erreur non gérée c'est produite " & Err.Number & " " & Err.Source & " " & Err.Description
End If

End Sub

Il est interressant de noter qu'un gestionnaire d'erreur devrait toujours être prévu de la sorte, avec ce IF err = Num de l'erreur puis un ELSE, car si une autre erreur se produit on peut ainsi être alerté....

Bonne Nuit
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 168
dernier inscrit
isidore33