Bonjour à tous,
Je suis newbie en VBA et suis face à un problème que je n'arrive pas à comprendre...
J'ai créé une feuille excel que j'ai appelé "vierge", avec une mise en forme particulière et des formules.
Sur la feuille suivante que j'ai appelé "Page de Garde", je rentre des données dans des cellules, et lorsque je clique sur un bouton, une macro créée une nouvelle feuille à la suite des existantes, et rempli un certain nombre d'informations issues de la page de garde, et je renomme le nom de la feuille avec l'une de ces données (un numéro de projet en l'occurrence).
Cependant, si une feuille existe déjà avec le même nom, Excel me met une fenêtre qui m'indique qu'une feuille existe déjà avec le même nom.
Afin d'éviter ce problème, je fais une petite boucle for, avec un test conditionnel pour m'assurer qu'il n'existe pas déjà une feuille avec le même nom.
Mais c'est là que ça plante... je vous laisse le code de cette partie :
où NB_ONGLETS est le nombre d'onglets dans le classeur obtenu de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 'boucle pour vérifier qu'aucun onglet ne porte déjà le même nom i = 2 For i = 2 To NB_ONGLETS Sheets(i).Select If Sheets(i).Name = project_number Then Call MsgBox("Attention, ce numéro de projet existe déjà !", vbCritical, Erreur) End If Next i
et "project_number", une valeur lue dans les données entrées dans la "Page de Garde" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part NB_ONGLETS = Sheets.Count
Sauf qu'arrivé sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 'copie du numéro de projet dans une variable déclarée Sheets("Page de Garde").Select Range("E8").Select project_number = ActiveCell.Value, excel plante avec le message d'erreur : "Erreur d'execution 1004 - Erreur définie par l'application ou par l'objet"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets(i).Select
Est ce que qqn a une idée ?
Merci !
Guillaume
Partager