Bonjour à tou(te)s
J'ai écris, non sans mal vu mon niveau en vba, un code qui ajoute des colonnes à un tableau sur une autre feuille en fonction du contenu d'une colonne dans un premier tableau.
Je l'ai d'abord conçu dans un module le temps de le mettre au point. Ça marche. Maintenant je veux que ça se déclenche quand je quitte la feuille. J'ai donc copier/coller le code dans un événement Worksheet_Deactivate et là rien ne va plus.Erreur d’exécution '1014 : La méthode 'Range' de l'objet '_Worksheet' a échoué. Et bien sûr j'ai besoin d'aide pour comprendre...
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
 
Private Sub Worksheet_Deactivate() ' dans l'événement
'Sub transfertAP() ' dans le module
' Création des APs dans la feuille élèves
    Sheets("liste_AP").Name = "liste_AP"
    dernLigne = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To dernLigne
        If Range("A" & i).Value <> "" Then
            Valeur_Cherchee = "AP" & Range("A" & i).Value
            Set PlageDeRecherche = Sheets("eleves").Rows(1)
            Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
            If Trouve Is Nothing Then
                Range("eleves").ListObject.ListColumns.Add.Name = Valeur_Cherchee
            End If
        End If
'vidage des variables
    Set PlageDeRecherche = Nothing
    Set Trouve = Nothing
    Next
End Sub
La seule différence c'est l’entête "Sub transfertAP()" ou "Private Sub Worksheet_Deactivate()" et l'endroit où il se trouve
merci pour votre aide.