Bonjour,
J'ai un problème persistant depuis 2 semaines.
Étant débutant dans le monde de la programmation, j'ai chercher un peu partout main Rien.
Veuillez m'aider svp.
Alors J'ai une liste déroulante comportant des virgules issue de ma BD SQL SERVER et j'applique une formule RechercheV pour avoir l'identifiant correspondant de chaque éléments de la liste.
Cependant, le résultat obtenue pour la liste déroulante n'est pas correcte certainement dû à ma concaténation faite pour le chargement de la liste déroulante.
Ainsi, la valeur de la RechercheV ne s'affiche pas car n'ayant pas l'élément de la liste exacte.
ci contre un exemple de code
Ps: Je veux adopter cette méthode car derrière je dois gérer l'intégrité de la liste par rapport à une autre.
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 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A2:A50")) Is Nothing Then If Not Target.Address = "$A$1" Then sql = "SELECT * FROM TABLE_AVEC_VIRGULE " Set rec = New Recordset rec.Open (sql), cn, adUseClient If rec.RecordCount > 0 Then listeElement = "" rec.MoveFirst For i = 1 To rec.RecordCount If rec!Libelle <> "" Then '=== Probleme ici ===' listeElement = listeElement & "," & rec!Libelle End If rec.MoveNext Next i With Range("A" & ligne).Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=listeElement End With Else MsgBox "Pas d'éléments dans la table", _ vbInformation, "Hey" With Range("A" & ligne).Validation .Delete End With End If rec.Close cn.Close End If End If End Sub
Merci d'avance de votre aide.
Version : XL 2010
Partager