Bonjour à toutes et tous,

en cette période de fin d'année je vous souhaite tout d'abord de joyeuses fêtes que vous passez surement entre amis et en famille

Voilà mon problème....

jusque là tout va bien avec le 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
19
20
21
22
23
24
25
Sub JourFR()
 
        Call runes_commun_1
 
        Dim Plage As Range                              '   Tests des conditions recherchées : Grade inf à vitale + Emplacement de la rune différent de "Inventaire"
        Dim T1() As String
        Dim i As Byte
        Dim a As Integer
 
                Range("C2").Value = "=MAX(A:A)+2"
                a = Range("C2").Value   ' Nbre ligne maximum de pièces dans l'hopital
 
                    Range("B2").Select
 
                    Set Plage = Range(Selection, Cells(a, "M"))
                    If Existe(Plage, 5, "Sérum") Then i = i + 1: ReDim Preserve T1(1 To i): T1(i) = "Sérum"
                    If Existe(Plage, 5, "Vaccin") Then i = i + 1: ReDim Preserve T1(1 To i): T1(i) = "Vaccin"
                    If Existe(Plage, 5, "Placebo") Then i = i + 1: ReDim Preserve T1(1 To i): T1(i) = "Placebo"
                    i = 0
 
                    '    pour voir ce que contiennent les tableaux
                    '    For I = 1 To UBound(T1): Debug.Print T1(I): Next I
 
 
                    Plage.AutoFilter 5, T1, xlFilterValues
Ensuite, sur ma base de données, colonne B j'ai ensuite plein de choix, et je désire décocher les éléments qui contiennent "Inventaire"...

Dans l'absolu en mode "manuel" quand je décoche "Inventaire" sur ma liste déroulante, j'ai bien le reste et ce que je désire avoir...

Par contre avec l'enregistreur de macro, il ne me désélectionne pas ce choix "Inventaire", mais m'ajoute tous les autres choix...

Le soucis c'est que la liste peut être très longue (plus de 1300 choix différents (liste des emplacements des salles de l'hôpital)

et je ne peux pas faire 1300 lignes comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
                     If Existe(Plage, 1, "Opération chirurgie 1") Then i = i + 1: ReDim Preserve T2(1 To i): T2(i) = "Opération chirurgie 1"
qui inclus toutes les pièces de l'hôpital en question

Comment faire s'il vous plait, avez vous une idée à laquelle je n'aurai pas pensé ?. J'ai cherché de longues heures sur le net , mais rien ne correspond

ce que je souhaiterai dans l'absolu... et qu'il me sélectionne tous ce qu'il y a dans la liste déroulante de la colonne B mais qu'il décoche uniquement "Inventaire", y'a t'il une fonction qui peut faire ca ?

un truc du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("$B$2",a).AutoFilter Field:=1, Criteria1:=Array false( "Inventaire *", Operator:=xlFilterValues
merci pour toute l'aide et toutes les idées que vous pourrez me conseiller