Bonjour tout le monde,

Je rencontre un problème, mais je ne comprends pas l'origine de ce dernier. J'ai un tableau excel classique avec trois colonnes. On trouve dans la première colonne une liste d'intitulés (texte). Je souhaites que ces intitulés soient manipulés grâce à un userform et notamment une ComboBox. L'Userform fonctionne très bien et le combobox récupère les valeurs de la colonne en question.

Dans le code ci-dessous. je récupère le numéro de ligne de la cellule ayant pour valeur celle de la combobox du formulaire. J'utilise donc .Find

le code suivant fonctionne très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public a As Long
 
Private Sub ComboBox_AF_DepPerso_Change()
 
Dim cherche As String
 
cherche = ComboBox_AF_DepPerso.Value 'la valeur à recherché est selectionné dans la combobox
 
 
a = Cells.Find(What:=cherche, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows).Row
 
MsgBox a
 
End Sub
Cependant, je ne souhaite pas parcourir l'ensemble des Cells pour rechercher la cellule comprenant la valeur du combobox. Je souhaite seulement une plage de cellule bien déterminée, en l’occurrence cette fameuse 1ère colonne de mon tableau.

J'ai donc naturellement essayé ce code :

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
Public DerLigneAFTab1 As Long
Public a As Long
 
Private Sub ComboBox_AF_DepPerso_Change()
 
Dim cherche As String
 
cherche = ComboBox_AF_DepPerso.Value ' la valeur à recherché est selectionné dans la combobox
 
Set PlageAfTab1 = Sheets("EDD 1").Range("C" & lignestab1(1) & ":C" & DerLigneAFTab1)
 
'lignestab1 est la première ligne de la colonne et DerLigneAFTab1 la dernière ligne de la colonne
 
 a = PlageAfTab1 .Find(What:=cherche, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows).Row
 
MsgBox a
 
End Sub
Ce code ne fonctionne pas du tout. Le débogage souligne la variable "a" avec ce message :

Erreur d'instruction : 91. Variable d'objet ou variable de bloc with non définie
Ca me dépasse complètement. Pourquoi cela fonctionnerait avec Cells et pas Range ? J'ai essayé avec une plage Range fixe et large, du genre Range("A1300"). Toujours le même problème.

Pouvez-vous m'aider s'il vous plaît ?

Bien à vous.