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 :
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.
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
J'ai donc naturellement essayé ce code :
Ce code ne fonctionne pas du tout. Le débogage souligne la variable "a" avec ce message :
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
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("A1Erreur d'instruction : 91. Variable d'objet ou variable de bloc with non définie300"). Toujours le même problème.
Pouvez-vous m'aider s'il vous plaît ?
Bien à vous.
Partager