Bonjour à toutes et tous,
je suis bloqué sur un combobox. j'ai besoin de récupérer en variable la valeur de la cellule précédente, afin de l'utiliser ultérieurement.
Ma combo me donne une liste d'entités (colonne AK), qui ont parfois le même libéllé, et j'ai besoin pour les différentier, de récupérer l'identifiant qui est dans la cellule précedente(colonne AJ).
voici la partie du code concerné:
' ensuite, je prends celui qui m'interresse dans ma liste dans la combo, et là j'ai le problème des libellés identiques. j'ai du mal à récupérér le contenu de la cellule précédente (colonne AJ) pour en faire ma variable. car à ce stade du code, la listbox se remplie avec tous les items qui ont le même libellé.
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 'Je crée la liste des types , sur le click du type choisi (tous ou ciblé), je remplie ma comboIF. c'est là ou j'ai besoin de récupérer l'identifiant colonne(AJ) Private Sub combotypeif_click() Dim nomfeuille As String nomfeuille = UserFormAide.ComboRegion.Value Set P = Sheets(nomfeuille) For Each Q In P.Range("AK2:AK" & P.[AK65000].End(xlUp).Row) If Q.Offset(0, 1) = Me.ComboTypeIF Or Me.ComboTypeIF = "(tous)" Then Me.ComboIF.AddItem Q End If Next Q End Sub *****************************************************
merci d'avance, car là je bloque depuis plusieurs jours.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Private Sub comboIF_click() Dim nomfeuille As String nomfeuille = UserFormAide.ComboRegion.Value Set R = ActiveWorkbook.Sheets(nomfeuille).Columns(37).Find(Me.ComboIF.Value, LookIn:=xlValues, lookat:=xlWhole) If R Is Nothing Then Me.ListBoxIFsurL.Visible = False Me.LabelLiF.Visible = False End If If Not R Is Nothing Then Me.ListBoxIFsurL.Clear Me.ListBoxIFsurL.Visible = True Me.LabelLiF.Visible = True premier = R.Address i = 0 Do Me.ListBoxIFsurL.AddItem Me.ListBoxIFsurL.List(i, 0) = R.Value Me.ListBoxIFsurL.List(i, 1) = R.Offset(0, 7).Value Me.ListBoxIFsurL.List(i, 2) = R.Offset(0, 5).Value Me.ListBoxIFsurL.List(i, 3) = R.Offset(0, 4).Value Me.ListBoxIFsurL.ColumnWidths = "00; 100;100;400" Set R = ActiveWorkbook.Sheets(nomfeuille).Columns(37).FindNext(R) i = i + 1 Loop While Not R Is Nothing And R.Address <> premier End If End Sub
Je viens de mettre en pièce jointe un classeur reprenant la partie concernée par ma question.
Partager