Bonjour
Je suis débutant en programmation et je voudrais un outil Excel me permettant d’ajouter des feuilles dans un classeur à partir d’une liste de noms en cliquant sur un bouton. Cela fonctionne très bien lorsque l’éditeur vba est ouvert sinon, j’obtiens le message suivant « l’indice n’appartient pas à la sélection ! ». Après plusieurs heures de recherche, je me rends compte que je ne récupère pas le CodeName des feuilles nouvellement créées (affichage dans une MsgBox). Par contre, aucun souci lorsque l’éditeur vba est ouvert.

Je vous remercie beaucoup par avance de l’attention que vous porterez à mon message.

Voici le code de la macro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub Ajout_eleves()
 
Dim nb_eleves As Integer
Dim liste_eleves() As String
Dim Nom As String
Dim prenom As String
Dim eleve As String
Dim Cname As String
 
nb_eleves = WorksheetFunction.CountA(Range("A:A")) - 1
 
ReDim liste_eleves(nb_eleves, 3)
 
    For i = 1 To nb_eleves
    Nom = Cells(i + 1, 1).Value
    liste_eleves(i, 1) = Nom
    prenom = Cells(i + 1, 2).Value
    liste_eleves(i, 2) = prenom
    eleve = Nom + " " + prenom
    Sheets.Add(, ActiveSheet).Name = eleve
    Sheets(eleve).Range("B1").Value = eleve
    Cname = Worksheets(eleve).CodeName
    MsgBox Worksheets(eleve).CodeName
    liste_eleves(i, 3) = Cname
    Call competences.copie_competences(eleve)
    Call competences.EcrireCode(Cname)
    Next
 
End Sub