code qui fonctionne dans un module mais pas dans un évènement
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:
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.