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...
La seule différence c'est l’entête "Sub transfertAP()" ou "Private Sub Worksheet_Deactivate()" et l'endroit où il se trouve
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
merci pour votre aide.
Partager