J'ai un peu évolué dans mon apprentissage, je vais traiter problème par problème.
J'ai un classeur de base de donnée de voitures, composé d'une feuille récapitulant toutes les voitures et d'une feuille par voiture avec les détails.
Pour gérer les voitures, j'ai un userform qui a pour fonction d'ajouter, modifier et supprimer les voitures une a une. Ca fonctionne tres bien.
Après avoir rempli le formulaire pour ajouter une voiture, on peut cliquer sur un bouton (ayant pour nom bnNouvelleFeuilleVoiture) qui ajoute une nouvelle feuille ayant pour nom celui de la voiture c'est à dire la valeur de ce qu'il y a dans une textbox du formulaire (ici la textbox s'appelle txNomVoiture)
Voici le code du bouton :
Code :
- Private Sub bnNouvelleFeuilleVoiture_Click()
- Sheets.Add after:=Sheets(Worksheets.Count)
- Sheets(Worksheets.Count).Name = txNomVoiture.Value
- End Sub
|
C'est génial ca fonctionne mais si l'utilisateur clique une seconde fois, il y aura un message d'erreur VBA car il est impossible de créér deux fois la meme feuille (logique)
Question 1 /// Je cherche donc à faire un message du style "la page existe déjà" mais je n'arrive pas à le faire
J'ai aussi un bouton pour Supprimer la feuille :
Code :
- Private Sub bnSupprimerFeuilleVoiture_Click()
- Sheets(txNomVoiture.Value).Select
- ActiveWindow.SelectedSheets.Delete
- Sheets("Récap" ).Select
- End Sub
|
Mais si l'utilisateur clique une seconde fois alors que la feuille n'existe plus, ca plante VBA.
Question 2 /// Comment faire pour qu'en cliquant, ca teste s'il y a deja la feuille et si oui : ca la supprime; si non : message : la feuille a déja été supprimée?