Bonjour à tous ,
De retour pour me permettre de comprendre si vous le voulez bien
le code suivant dont l'inspiration est issue de ce forum :
Plantons le décor
un USF avec 2 ComboBox
-> (Box2) = filtrée
-> (Box3) = filtré à partir des données de Box2
ensuite recherche dans la feuille choisie des données à mettre à jour puis sauvegarde ...
J'ai trois problèmes distincts liés à ce codeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Private Sub Box2_Change() Dim c As Range 'filtrage de la feuille de donnée sur la valeur de combo et remplissage 'de combo2 par les valeurs des cellules filtrées et le numéro de ligne 'Application.ScreenUpdating = False Me.Box3.Clear With Sheets("TR" & Box1.Value) .Range("A5", .Cells(Rows.Count, 1).End(xlUp)).AutoFilter field:=1, Criteria1:=Box2.Value For Each c In .Range("B6:B" & .Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeVisible) With Me.Box3 .AddItem c.Value .List(.ListCount - 1, 1) = c.Row End With Next c .Range("A5", .Cells(Rows.Count, 1).End(xlUp)).AutoFilter End With Me.Box2.Locked = True <----- (2) End Sub
1 ) celui remplit parfaitement son rôle qui consiste à mettre dans Box3.value le resultat de la colone B ( chiffre ) + le N° de la ligne pour une utilisation ulterieure mais ne fonctionnement plus dès qu'il s'agit de la 1ere ligne de la feuille ( ici "TR"+... ) pour resoudre ce pb j'ai du mettre "B5:B" au lieu de "B6:B" (?) :calim2:
2) si l'utilisateur veut réactualiser Box2.value , çà plante et j'ai du mettre la ligne en (2) là aussi çà marche mais je sais pas (?) :calim2:
3) malgre l'utilisation "Range("A5"....).autofilter ,le filtre sur la feuille concerné disparait :calim2:
Voilà en quelques mots mes divers pb :cry:
Merci par avance de bien vouloir me preter un petit coup de main et Bon WE à tous !!
A++ :P