Bonjour à tous

Comme dis dans l’intitulé du sujet, j'ai un problème avec les regex sous excel 2010.
J'ai beau recopier des morceaux de codes de tous les forums/tutoriels, ça ne marche pas.
Est-ce qu'il faut un addon pour que le vba gère les regex?
Ca doit surement venir de mon code, mais je ne suis pas suffisamment experte pour voir d'où vient le problème.

Voici mon code (une partie) :

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
38
39
40
41
42
43
44
45
46
47
48
49
 Range(ad).Offset(5, 5).FormulaLocal = "=NB.SI(Q:Q;""=PS"")"
    Range(ad).Offset(6, 5).FormulaLocal = "=NB.SI(Q:Q;""=S"")"
    Range(ad).Offset(7, 5).FormulaLocal = "=NB.SI(Q:Q;""=P"")"
 
    nbPS = Range(ad).Offset(5, 5).Value
    nbS = Range(ad).Offset(6, 5).Value
    nbP = Range(ad).Offset(7, 5).Value
 
    'Dim regEx As VBScript_RegExp_55.RegExp
    'Set regEx = New VBScript_RegExp_55.RegExp
    Dim reg As New VBScript_RegExp_55.RegExp
 
    With reg 'With CreateObject("VBScript.RegExp")
        .IgnoreCase = True
        .Global = False
        .Pattern = "[0-3][0-9]/" + mois + "/" + année
    End With
 
    For Each cel In Range("Q:Q")
        If cel.Value = "PS" Then
            If IsEmpty(cel.Offset(0, -8)) Then
                nbPS = nbPS - 1
            End If
            If Not reg.Test(cel.Offset(0, -8).Value) Then
                nbPS = nbPS - 1
            End If
        End If
        If cel.Value = "S" Then
            If IsEmpty(cel.Offset(0, -8)) Then
                nbS = nbS - 1
            End If
            If Not reg.Test(cel.Offset(0, -8).Value) Then
                nbS = nbS - 1
            End If
        End If
        If cel.Value = "P" Then
            If IsEmpty(cel.Offset(0, -8)) Then
                nbP = nbP - 1
            End If
            If Not reg.Test(cel.Offset(0, -8).Value) Then
                nbP = nbP - 1
            End If
        End If
    Next cel
 
 
    Range(ad).Offset(2, 1).Value = nbP
    Range(ad).Offset(3, 1).Value = nbPS
    Range(ad).Offset(4, 1).Value = nbS
avec ad une adresse de cellule de référence.

Et dès que je veux exécuter ma macro j'ai cette erreur :
Nom : erreur excel.PNG
Affichages : 137
Taille : 7,0 Ko
Je précise que cette erreur me surligne la ligne où je déclare la regex...

Je suis sure que c'est une erreur bête (je suis spécialiste des erreurs bêtes )

Merci pour vos éventuelles réponses