Static | ZeroBOX

Original


                                        Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

                                    

Deobfuscated


                                        Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

                                    

Original


                                        Attribute VB_Name = "Feuille_vide"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

                                    

Deobfuscated


                                        Attribute VB_Name = "Feuille_vide"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

                                    

Original


                                        Attribute VB_Name = "FONCTIONS_XLP"
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Global z821d24946133b7e434edcf2d7fbf25fd, rf16c5a73de3035d6b602cdc40cfa22d9, bc8f13f08f0957b431dc7208a8ad6d128, w7edc795356cdc3e639b1213526b5fe96, v66724ada74e38279591b6dccf452d874, e9f96cb66878c48ff79e44bf52ae10b34, t0a46ff83dccf30afcf6650fb0c207e16
Function VERSION_FONCTIONS_XLP()
Application.Volatile
VERSION_FONCTIONS_XLP = "3.1.1"
End Function
Function NOM_FEUILLE(cellule As Range)
Application.Volatile
NOM_FEUILLE = cellule.Worksheet.Name
End Function
Function NO_COULEUR(cellule As Range)
Application.Volatile
NO_COULEUR = qdf82bb4550e446d7960ab59a6037a054(cellule)
End Function
Private Function qdf82bb4550e446d7960ab59a6037a054(xef06f5b89d66c84a1c10c4404a551ef1)
If Val(Application.Version) <= 12 Then
qdf82bb4550e446d7960ab59a6037a054 = xef06f5b89d66c84a1c10c4404a551ef1.Interior.Color
Else
qdf82bb4550e446d7960ab59a6037a054 = Evaluate("couleurCelluleDisplayFormat('" & xef06f5b89d66c84a1c10c4404a551ef1.Worksheet.Name & "'!" & xef06f5b89d66c84a1c10c4404a551ef1(1).Address & ")")
End If
End Function
Private Function couleurCelluleDisplayFormat(z38b89092a9a1179eaa08ec4ba874a585 As Range)
couleurCelluleDisplayFormat = z38b89092a9a1179eaa08ec4ba874a585.DisplayFormat.Interior.Color
End Function
Function NO_COULEUR_HEX(hexa)
Application.Volatile
NO_COULEUR_HEX = hexaToColor(hexa)
End Function
Function NO_COULEUR_RGB_CELL(cellule As Range, Optional separateur = ", ")
Application.Volatile
zae1c64960fc246fb07f02fe2bfa58d9e = cellule.Interior.Color
ccff68fcb7b9be7f9478cd789875aeafe = Int(zae1c64960fc246fb07f02fe2bfa58d9e Mod 256)
b1d3cf707d059f12439a2cf438e305d41 = Int((zae1c64960fc246fb07f02fe2bfa58d9e Mod 65536) / 256)
xfa43d3b8d8e5b42196adc73d38dd6c96 = Int(zae1c64960fc246fb07f02fe2bfa58d9e / 65536)
NO_COULEUR_RGB_CELL = ccff68fcb7b9be7f9478cd789875aeafe & separateur & b1d3cf707d059f12439a2cf438e305d41 & separateur & xfa43d3b8d8e5b42196adc73d38dd6c96
End Function
Function NO_COULEUR_HEX_CELL(cellule As Range)
Application.Volatile
NO_COULEUR_HEX_CELL = colorToHexa(qdf82bb4550e446d7960ab59a6037a054(cellule))
End Function
Function NB_COLORE(plage As Range)
Application.Volatile
NB_COLORE = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) <> 16777215 Then NB_COLORE = NB_COLORE + 1
Next
End Function
Function NB_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
NB_SI_COULEUR = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then NB_SI_COULEUR = NB_SI_COULEUR + 1
Next
End Function
Function SOMME_SI_COLORE(plage As Range, Optional plage_somme As Range)
Application.Volatile
SOMME_SI_COLORE = 0
q46a682445cf5a55eb5049b107a89cc47 = plage.Cells.Count
If plage_somme Is Nothing Then
Set plage_somme = plage
Else
t327aea80eb34bc8fdb5401f8298081b5 = plage_somme.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
SOMME_SI_COLORE = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(q46a682445cf5a55eb5049b107a89cc47 - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage_somme
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) <> 16777215 Then
n091cb4fc8b63571b168a7569fd3ea730 = m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
If IsNumeric(n091cb4fc8b63571b168a7569fd3ea730) Then
If n091cb4fc8b63571b168a7569fd3ea730 And VarType(n091cb4fc8b63571b168a7569fd3ea730) = 11 Then n091cb4fc8b63571b168a7569fd3ea730 = 1
SOMME_SI_COLORE = SOMME_SI_COLORE + n091cb4fc8b63571b168a7569fd3ea730
End If
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function SOMME_SI_COULEUR(plage As Range, couleur As Long, Optional plage_somme As Range)
Application.Volatile
SOMME_SI_COULEUR = 0
q46a682445cf5a55eb5049b107a89cc47 = plage.Cells.Count
If plage_somme Is Nothing Then
Set plage_somme = plage
Else
t327aea80eb34bc8fdb5401f8298081b5 = plage_somme.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
SOMME_SI_COULEUR = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(q46a682445cf5a55eb5049b107a89cc47 - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage_somme
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
n091cb4fc8b63571b168a7569fd3ea730 = m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
If IsNumeric(n091cb4fc8b63571b168a7569fd3ea730) Then
If n091cb4fc8b63571b168a7569fd3ea730 And VarType(n091cb4fc8b63571b168a7569fd3ea730) = 11 Then n091cb4fc8b63571b168a7569fd3ea730 = 1
SOMME_SI_COULEUR = SOMME_SI_COULEUR + n091cb4fc8b63571b168a7569fd3ea730
End If
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function MAX_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
MAX_SI_COULEUR = "vide$!$"
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If MAX_SI_COULEUR = "vide$!$" Then
MAX_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
ElseIf q1d635f47a1a748ee6cf29ce3507db033 > MAX_SI_COULEUR Then
MAX_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
If MAX_SI_COULEUR = "vide$!$" Then MAX_SI_COULEUR = " - "
End Function
Function MIN_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
MIN_SI_COULEUR = "vide$!$"
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If MIN_SI_COULEUR = "vide$!$" Then
MIN_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
ElseIf q1d635f47a1a748ee6cf29ce3507db033 < MIN_SI_COULEUR Then
MIN_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
If MIN_SI_COULEUR = "vide$!$" Then MIN_SI_COULEUR = " - "
End Function
Function MOYENNE_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
vf595dadd3ca0b1b7a7edad3d41e21477 = 0
c645e08cfe9d15185807dddb4552c8f53 = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
c645e08cfe9d15185807dddb4552c8f53 = c645e08cfe9d15185807dddb4552c8f53 + q1d635f47a1a748ee6cf29ce3507db033
vf595dadd3ca0b1b7a7edad3d41e21477 = vf595dadd3ca0b1b7a7edad3d41e21477 + 1
End If
End If
End If
End If
Next
If vf595dadd3ca0b1b7a7edad3d41e21477 = 0 Then
MOYENNE_SI_COULEUR = " - "
Else
MOYENNE_SI_COULEUR = c645e08cfe9d15185807dddb4552c8f53 / vf595dadd3ca0b1b7a7edad3d41e21477
End If
End Function
Function ALEATOIRE(valeur_min As Long, valeur_max As Long)
Application.Volatile
Randomize
r371eeb7681f0fd6f76f3ea47a39ca185 = Abs(valeur_max - valeur_min) + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
ALEATOIRE = valeur_max
Else
ALEATOIRE = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End Function
Function ALEATOIRE_NON_VOLATILE(valeur_min As Long, valeur_max As Long)
Randomize
r371eeb7681f0fd6f76f3ea47a39ca185 = Abs(valeur_max - valeur_min) + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
ALEATOIRE_NON_VOLATILE = valeur_max
Else
ALEATOIRE_NON_VOLATILE = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End Function
Function JOINDRE(plage As Range, Optional separateur = "")
Application.Volatile
JOINDRE = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
JOINDRE = JOINDRE & nb1d7cdfb5d3a97c615baa9931efb339c & q1d635f47a1a748ee6cf29ce3507db033
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
End Function
Function JOINDRE_NON_VIDE(plage As Range, Optional separateur = "")
Application.Volatile
JOINDRE_NON_VIDE = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
JOINDRE_NON_VIDE = JOINDRE_NON_VIDE & nb1d7cdfb5d3a97c615baa9931efb339c & q1d635f47a1a748ee6cf29ce3507db033
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
End If
Next
End Function
Function JOINDRE_UNIQUE(plage As Range, Optional separateur = "")
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_UNIQUE = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If Not inArray(b005fede37fa701774f99f750c15a4849, q1d635f47a1a748ee6cf29ce3507db033) Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
JOINDRE_UNIQUE = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_NON_VIDE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_NON_VIDE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_NON_VIDE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_UNIQUE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_UNIQUE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If Not inArray(b005fede37fa701774f99f750c15a4849, q1d635f47a1a748ee6cf29ce3507db033) Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_UNIQUE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function TABLEAU_HTML(plage As Range)
Application.Volatile
m623baf3ea6f2658cfcb07bf47d5d645d = ""
n0c2c1a2fb4816b58f4873a84be10edb1 = "<table>"
b6d07ece4aa22000776d0d4cc879f0dbf = "</table>"
ye5030baabf2553a9cb51371618d457d3 = "<tr>"
xd93ac5bdf6eda6c9bff4a613aba0745f = "</tr>"
z13cc4592f3bdacaf54b8cae5157842e4 = "<td>"
n564317fe48e509f9199b767945f2b8e9 = "</td>"
v55b169dc89304661f14a3174b05192da = 0
TABLEAU_HTML = n0c2c1a2fb4816b58f4873a84be10edb1
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
bdc2df50b915072f5d7bf2b8971ce1037 = q1d635f47a1a748ee6cf29ce3507db033.Row
If v55b169dc89304661f14a3174b05192da = 0 Then
TABLEAU_HTML = TABLEAU_HTML & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
ElseIf v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037 Then
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
Else
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
End If
v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037
Next
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & b6d07ece4aa22000776d0d4cc879f0dbf
End Function
Function TABLEAU_HTML_AVANCE(plage As Range)
Application.Volatile
m623baf3ea6f2658cfcb07bf47d5d645d = ""
n0c2c1a2fb4816b58f4873a84be10edb1 = "<table style=""border-collapse:collapse"">"
b6d07ece4aa22000776d0d4cc879f0dbf = "</table>"
ye5030baabf2553a9cb51371618d457d3 = "<tr>"
xd93ac5bdf6eda6c9bff4a613aba0745f = "</tr>"
n564317fe48e509f9199b767945f2b8e9 = "</td>"
v55b169dc89304661f14a3174b05192da = 0
z0f97e49ceac5d474fe841e3714e2d99e = -1
TABLEAU_HTML_AVANCE = n0c2c1a2fb4816b58f4873a84be10edb1
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
z13cc4592f3bdacaf54b8cae5157842e4 = "<td>"
bdc2df50b915072f5d7bf2b8971ce1037 = q1d635f47a1a748ee6cf29ce3507db033.Row
tb3a9e884374cd528719ebeea39fb6dd9 = ""
If q1d635f47a1a748ee6cf29ce3507db033.Font.Bold Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "font-weight:bold;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Italic Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "font-style:italic;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Underline <> xlUnderlineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-decoration:underline;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = -4108 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-align:center;"
ElseIf q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = -4152 Or (q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = 1 And (IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Or IsDate(q1d635f47a1a748ee6cf29ce3507db033))) Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-align:right;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Color <> 0 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "color:#" & colorToHexa(q1d635f47a1a748ee6cf29ce3507db033.Font.Color) & ";"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Interior.Color <> 16777215 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "background:#" & colorToHexa(q1d635f47a1a748ee6cf29ce3507db033.Interior.Color) & ";"
End If
vfac096d2cc7055ea0283ac609944d01c = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeTop).LineStyle
m13e1a7312cf31a0660de9f7e7f770b74 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeBottom).LineStyle
qc087884cac5960864c30ae51395cedb0 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeLeft).LineStyle
r96418b75442ec03334a851a44984a6a0 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeRight).LineStyle
x4fefe8b398df47b40192ec8f5c8f89a2 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeTop).Color
re616977cc9799a997cb366cb79f3a02b = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeBottom).Color
xd62043be3938d8221f75c5a61846509a = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeLeft).Color
m3789f43ce9df0adc436a79b4dacc84e4 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeRight).Color
If vfac096d2cc7055ea0283ac609944d01c = m13e1a7312cf31a0660de9f7e7f770b74 And vfac096d2cc7055ea0283ac609944d01c = qc087884cac5960864c30ae51395cedb0 And vfac096d2cc7055ea0283ac609944d01c = r96418b75442ec03334a851a44984a6a0 And x4fefe8b398df47b40192ec8f5c8f89a2 = re616977cc9799a997cb366cb79f3a02b And x4fefe8b398df47b40192ec8f5c8f89a2 = xd62043be3938d8221f75c5a61846509a And x4fefe8b398df47b40192ec8f5c8f89a2 = m3789f43ce9df0adc436a79b4dacc84e4 Then
If vfac096d2cc7055ea0283ac609944d01c <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border:1px solid #" & colorToHexa(x4fefe8b398df47b40192ec8f5c8f89a2) & ";"
End If
Else
If vfac096d2cc7055ea0283ac609944d01c <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-top:1px solid #" & colorToHexa(x4fefe8b398df47b40192ec8f5c8f89a2) & ";"
End If
If m13e1a7312cf31a0660de9f7e7f770b74 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-bottom:1px solid #" & colorToHexa(re616977cc9799a997cb366cb79f3a02b) & ";"
End If
If qc087884cac5960864c30ae51395cedb0 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-left:1px solid #" & colorToHexa(xd62043be3938d8221f75c5a61846509a) & ";"
End If
If r96418b75442ec03334a851a44984a6a0 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-right:1px solid #" & colorToHexa(m3789f43ce9df0adc436a79b4dacc84e4) & ";"
End If
End If
If v55b169dc89304661f14a3174b05192da = 0 Or z0f97e49ceac5d474fe841e3714e2d99e = bdc2df50b915072f5d7bf2b8971ce1037 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "width:" & q1d635f47a1a748ee6cf29ce3507db033.Columns.Width & "px;"
End If
If tb3a9e884374cd528719ebeea39fb6dd9 <> "" Then z13cc4592f3bdacaf54b8cae5157842e4 = "<td style=""" & tb3a9e884374cd528719ebeea39fb6dd9 & """>"
If v55b169dc89304661f14a3174b05192da = 0 Then
z0f97e49ceac5d474fe841e3714e2d99e = bdc2df50b915072f5d7bf2b8971ce1037
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
ElseIf v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037 Then
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
Else
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
End If
v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037
Next
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & b6d07ece4aa22000776d0d4cc879f0dbf
End Function
Function DATE_PAQUES(annee)
Application.Volatile
DATE_PAQUES = easterDate(annee)
End Function
Function EST_PAQUES(date_a_tester)
Application.Volatile
EST_PAQUES = False
If Not IsDate(date_a_tester) Then Exit Function
If easterDate(date_a_tester) = Int(CDate(date_a_tester)) Then EST_PAQUES = True
End Function
Function DATE_LUNDI_PENTECOTE(annee)
Application.Volatile
DATE_LUNDI_PENTECOTE = easterDate(annee) + 50
End Function
Function DATE_ASCENSION(annee)
Application.Volatile
DATE_ASCENSION = easterDate(annee) + 39
End Function
Function CONVERTIR_EN_HEURES(heures)
Application.Volatile
If IsNumeric(heures) Then
CONVERTIR_EN_HEURES = heures * 24
Else
heures = LCase(heures)
heures = Replace(heures, "h", ":")
n3b6c342b0293fceb687c35b85d3de147 = Split(heures, ":")
For m10509d317a03d8e9a09401b6c7d3443f = LBound(n3b6c342b0293fceb687c35b85d3de147) To UBound(n3b6c342b0293fceb687c35b85d3de147)
If m10509d317a03d8e9a09401b6c7d3443f = 3 Then Exit For
If m10509d317a03d8e9a09401b6c7d3443f = 0 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f))
ElseIf m10509d317a03d8e9a09401b6c7d3443f = 1 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f)) / 60
ElseIf m10509d317a03d8e9a09401b6c7d3443f = 2 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f)) / 3600
End If
Next
End If
End Function
Function nb_jours_mois(date_mois)
Application.Volatile
nb_jours_mois = nbDaysMonth(date_mois)
End Function
Function DATE_DIFF(date_1, date_2, Optional jours_complets = False)
Application.Volatile
If Not IsDate(date_1) Or date_1 > 999999999 Then date_1 = CDate(date_1)
If Not IsDate(date_2) Or date_2 > 999999999 Then date_2 = CDate(date_2)
If jours_complets = False Then
DATE_DIFF = Abs(date_1 - date_2)
Else
DATE_DIFF = Int(Abs(date_1 - date_2))
End If
End Function
Function NB_TEXTE(valeur, recherche)
Application.Volatile
NB_TEXTE = UBound(Split(valeur, recherche))
End Function
Function NO_SEMAINE_ISO(date_semaine)
Application.Volatile
NO_SEMAINE_ISO = isoWeekNum(date_semaine)
End Function
Function SI_NON_VIDE(cellule, Optional valeur_si_oui = "", Optional valeur_si_non = "")
Application.Volatile
If cellule <> "" Then
SI_NON_VIDE = valeur_si_oui
Else
SI_NON_VIDE = valeur_si_non
End If
End Function
Function EXTRAIRE_MOT(texte, Optional position As Long = 1, Optional separateur_1 = " ", Optional separateur_2, Optional separateur_3)
Application.Volatile
If separateur_1 = "" Then separateur_1 = " "
If Not IsMissing(separateur_2) Then
texte = Replace(texte, separateur_2, separateur_1)
End If
If Not IsMissing(separateur_3) Then
texte = Replace(texte, separateur_3, separateur_1)
End If
Do While UBound(Split(texte, separateur_1 & separateur_1)) > 0
texte = Replace(texte, separateur_1 & separateur_1, separateur_1)
Loop
EXTRAIRE_MOT = Split(texte, separateur_1)(position - 1)
End Function
Function DATE_EU()
Application.Volatile
DATE_EU = euDate()
End Function
Function DATE_INVERSER_JM(ByVal date_a_inverser)
Application.Volatile
If IsDate(date_a_inverser) Then
If date_a_inverser > 999999999 Then date_a_inverser = CDate(date_a_inverser)
If Day(date_a_inverser) <= 12 Then
If isInt(date_a_inverser) Then
DATE_INVERSER_JM = DateSerial(Year(date_a_inverser), Day(date_a_inverser), Month(date_a_inverser))
Else
DATE_INVERSER_JM = DateSerial(Year(date_a_inverser), Day(date_a_inverser), Month(date_a_inverser)) + (date_a_inverser - Int(date_a_inverser))
End If
Else
DATE_INVERSER_JM = date_a_inverser
End If
Else
DATE_INVERSER_JM = "Erreur : date invalide"
End If
End Function
Function DOUBLONS(plage As Range)
Application.Volatile
DOUBLONS = False
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If q1d635f47a1a748ee6cf29ce3507db033.Address <> celluleTest_2.Address Then
DOUBLONS = True
Exit Function
End If
End If
End If
Next
End If
Next
End Function
Function DOUBLONS_LISTE(plage As Range, Optional separateur = " / ", Optional valeur_si_aucun_doublon = " - ")
Application.Volatile
e1bae1e6705ccab962b76881e4b0a4780 = 0
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
e1bae1e6705ccab962b76881e4b0a4780 = e1bae1e6705ccab962b76881e4b0a4780 + 1
wa1428a528ec6ba2fc516421e1a74ac8f = 0
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
wa1428a528ec6ba2fc516421e1a74ac8f = wa1428a528ec6ba2fc516421e1a74ac8f + 1
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If e1bae1e6705ccab962b76881e4b0a4780 > wa1428a528ec6ba2fc516421e1a74ac8f Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
DOUBLONS_LISTE = valeur_si_aucun_doublon
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
arraySortAsc bccea5d1530f2675ce2d578639d18d821
DOUBLONS_LISTE = Join(bccea5d1530f2675ce2d578639d18d821, separateur)
End If
End Function
Function DOUBLONS_ADRESSES(plage As Range, Optional separateur = ", ", Optional valeur_si_aucun_doublon = " - ")
Application.Volatile
e1bae1e6705ccab962b76881e4b0a4780 = 0
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
e1bae1e6705ccab962b76881e4b0a4780 = e1bae1e6705ccab962b76881e4b0a4780 + 1
wa1428a528ec6ba2fc516421e1a74ac8f = 0
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
wa1428a528ec6ba2fc516421e1a74ac8f = wa1428a528ec6ba2fc516421e1a74ac8f + 1
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If e1bae1e6705ccab962b76881e4b0a4780 > wa1428a528ec6ba2fc516421e1a74ac8f Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033.Address) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033.Address
End If
If Not inArray(bccea5d1530f2675ce2d578639d18d821, celluleTest_2.Address) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = celluleTest_2.Address
End If
End If
End If
End If
Next
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
DOUBLONS_ADRESSES = valeur_si_aucun_doublon
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
arraySortAsc bccea5d1530f2675ce2d578639d18d821
DOUBLONS_ADRESSES = Replace(Join(bccea5d1530f2675ce2d578639d18d821, separateur), "$", "")
End If
End Function
Function LISTE_SANS_DOUBLONS(plage As Range, Optional separateur = ", ", Optional ordre_de_tri = 0)
Application.Volatile
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
LISTE_SANS_DOUBLONS = ""
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
If ordre_de_tri Then
arraySortDesc bccea5d1530f2675ce2d578639d18d821
Else
arraySortAsc bccea5d1530f2675ce2d578639d18d821
End If
LISTE_SANS_DOUBLONS = Join(bccea5d1530f2675ce2d578639d18d821, separateur)
End If
End Function
Function EST_EMAIL(adresse_email)
Application.Volatile
EST_EMAIL = isEmail(adresse_email)
End Function
Function REGEX_MATCH(texte, expression_reguliere)
Application.Volatile
REGEX_MATCH = regexMatch(texte, expression_reguliere)
End Function
Function REGEX_REPLACE(texte, expression_reguliere, remplacement)
Application.Volatile
REGEX_REPLACE = regexReplace(texte, expression_reguliere, remplacement)
End Function
Function REGEX_EXTRACT(texte, expression_reguliere, Optional separateur = " / ")
Application.Volatile
REGEX_EXTRACT = regexExtract(texte, expression_reguliere, separateur)
End Function
Function RECHERCHE_X(valeur_cherchee, plage_recherche As Range, plage_resultat As Range, Optional si_aucun_resultat = CVErr(xlErrNA), Optional occurrence As Integer = 1, Optional sens As Integer = 1, Optional correspondance As Integer = 0)
Application.Volatile
If occurrence < 1 Then occurrence = 1
If sens <> 1 Then sens = -1
If correspondance <> 1 And correspondance <> 2 Then correspondance = 0
xf1ec14b22bdd21f9b2f62be25d1a101e = plage_recherche.Rows.Count
r64d7ca71ec9e4081c77d5fbd41e91a1b = plage_resultat.Rows.Count
b30c45a0d8d0d847eecc4f486c2446769 = plage_recherche.Columns.Count
tdd81148e97b802a776295a0f3674ffea = plage_resultat.Columns.Count
If (xf1ec14b22bdd21f9b2f62be25d1a101e > 1 And b30c45a0d8d0d847eecc4f486c2446769 > 1) Or (r64d7ca71ec9e4081c77d5fbd41e91a1b > 1 And tdd81148e97b802a776295a0f3674ffea > 1) Then
RECHERCHE_X = "Erreur : les plages ne peuvent contenir qu'une seule colonne (ou ligne)."
Exit Function
End If
q46a682445cf5a55eb5049b107a89cc47 = plage_recherche.Cells.Count
t327aea80eb34bc8fdb5401f8298081b5 = plage_resultat.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
RECHERCHE_X = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 Then
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage_recherche.Worksheet)
If ce8260ecc337c70e2e9bc6eab92626afe < q46a682445cf5a55eb5049b107a89cc47 Then q46a682445cf5a55eb5049b107a89cc47 = ce8260ecc337c70e2e9bc6eab92626afe
End If
x97ccc9b2fd85e56f724d7b397e6ec55f = 0
v97cf6ed3f69a10cd18c2240531007260 = IIf(sens = 1, 1, q46a682445cf5a55eb5049b107a89cc47)
m4311bf30fbd46cddb2ca188ab9478202 = IIf(sens = 1, q46a682445cf5a55eb5049b107a89cc47, 1)
For m10509d317a03d8e9a09401b6c7d3443f = v97cf6ed3f69a10cd18c2240531007260 To m4311bf30fbd46cddb2ca188ab9478202 Step sens
bf0f8adedac82d41f963f43b37ac17cbc = False
If correspondance = 0 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) = valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 1 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) Like valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 2 Then
If regexMatch(plage_recherche(m10509d317a03d8e9a09401b6c7d3443f), valeur_cherchee) Then bf0f8adedac82d41f963f43b37ac17cbc = True
End If
If bf0f8adedac82d41f963f43b37ac17cbc Then
x97ccc9b2fd85e56f724d7b397e6ec55f = x97ccc9b2fd85e56f724d7b397e6ec55f + 1
If x97ccc9b2fd85e56f724d7b397e6ec55f = occurrence Then
RECHERCHE_X = plage_resultat(m10509d317a03d8e9a09401b6c7d3443f)
Exit Function
End If
End If
Next
RECHERCHE_X = si_aucun_resultat
End Function
Function EQUIV_X(valeur_cherchee, plage_recherche As Range, Optional si_aucun_resultat = CVErr(xlErrNA), Optional occurrence As Integer = 1, Optional sens As Integer = 1, Optional correspondance As Integer = 0)
Application.Volatile
If occurrence < 1 Then occurrence = 1
If sens <> 1 Then sens = -1
If correspondance <> 1 And correspondance <> 2 Then correspondance = 0
xf1ec14b22bdd21f9b2f62be25d1a101e = plage_recherche.Rows.Count
b30c45a0d8d0d847eecc4f486c2446769 = plage_recherche.Columns.Count
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 And b30c45a0d8d0d847eecc4f486c2446769 > 1 Then
EQUIV_X = "Erreur : la plage ne peut contenir qu'une seule colonne (ou ligne)."
Exit Function
End If
q46a682445cf5a55eb5049b107a89cc47 = plage_recherche.Cells.Count
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 Then
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage_recherche.Worksheet)
If ce8260ecc337c70e2e9bc6eab92626afe < q46a682445cf5a55eb5049b107a89cc47 Then q46a682445cf5a55eb5049b107a89cc47 = ce8260ecc337c70e2e9bc6eab92626afe
End If
x97ccc9b2fd85e56f724d7b397e6ec55f = 0
v97cf6ed3f69a10cd18c2240531007260 = IIf(sens = 1, 1, q46a682445cf5a55eb5049b107a89cc47)
m4311bf30fbd46cddb2ca188ab9478202 = IIf(sens = 1, q46a682445cf5a55eb5049b107a89cc47, 1)
For m10509d317a03d8e9a09401b6c7d3443f = v97cf6ed3f69a10cd18c2240531007260 To m4311bf30fbd46cddb2ca188ab9478202 Step sens
bf0f8adedac82d41f963f43b37ac17cbc = False
If correspondance = 0 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) = valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 1 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) Like valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 2 Then
If regexMatch(plage_recherche(m10509d317a03d8e9a09401b6c7d3443f), valeur_cherchee) Then bf0f8adedac82d41f963f43b37ac17cbc = True
End If
If bf0f8adedac82d41f963f43b37ac17cbc Then
x97ccc9b2fd85e56f724d7b397e6ec55f = x97ccc9b2fd85e56f724d7b397e6ec55f + 1
If x97ccc9b2fd85e56f724d7b397e6ec55f = occurrence Then
EQUIV_X = m10509d317a03d8e9a09401b6c7d3443f
Exit Function
End If
End If
Next
EQUIV_X = si_aucun_resultat
End Function
Function NB_SI_REGEX(plage As Range, expression_reguliere As String)
Application.Volatile
NB_SI_REGEX = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If regexMatch(q1d635f47a1a748ee6cf29ce3507db033, expression_reguliere) Then NB_SI_REGEX = NB_SI_REGEX + 1
Next
End Function
Function SOMME_SI_REGEX(plage As Range, somme_plage As Range, expression_reguliere As String)
Application.Volatile
SOMME_SI_REGEX = 0
nbCellules = plage.Count
If nbCellules <> somme_plage.Count Then
SOMME_SI_REGEX = "#PLAGES!"
Exit Function
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(nbCellules - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In somme_plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If regexMatch(q1d635f47a1a748ee6cf29ce3507db033, expression_reguliere) Then
If IsNumeric(m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)) Then SOMME_SI_REGEX = SOMME_SI_REGEX + m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function EST_URL(texte)
Application.Volatile
EST_URL = isUrl(texte)
End Function
Function hexaToColor(valeur_hexa)
If Len(valeur_hexa) = 7 Then valeur_hexa = Mid(valeur_hexa, 2, 6)
If Len(valeur_hexa) = 6 Then
valeur_hexa = LCase(valeur_hexa)
bccea5d1530f2675ce2d578639d18d821 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
z9a57d791210a62f1cc48b29158f5ba6d = Mid(valeur_hexa, 1, 1)
bf9d0e6e8df36cb4288d6b49b87094666 = Mid(valeur_hexa, 2, 1)
e4ded506646c1e88d65d9fd1446f3b0ef = Mid(valeur_hexa, 3, 1)
wa1337b54fa424fa04f59a01cb6340498 = Mid(valeur_hexa, 4, 1)
bf3d02f123b0c6668961643ab59a67833 = Mid(valeur_hexa, 5, 1)
v75f32dd7af7c50c88e1c9e36464f9437 = Mid(valeur_hexa, 6, 1)
For i = 0 To 15
If (z9a57d791210a62f1cc48b29158f5ba6d = bccea5d1530f2675ce2d578639d18d821(i)) Then n518c8df004d81b4ce71fe3d6d37b16d1 = i
If (bf9d0e6e8df36cb4288d6b49b87094666 = bccea5d1530f2675ce2d578639d18d821(i)) Then zf6cf61924ad4eed24efe75fd8fe11f03 = i
If (e4ded506646c1e88d65d9fd1446f3b0ef = bccea5d1530f2675ce2d578639d18d821(i)) Then z688d39935898fe6d23319b5955b1bd4e = i
If (wa1337b54fa424fa04f59a01cb6340498 = bccea5d1530f2675ce2d578639d18d821(i)) Then nccfa022ffec34e47eff31f63234958f8 = i
If (bf3d02f123b0c6668961643ab59a67833 = bccea5d1530f2675ce2d578639d18d821(i)) Then r358d7a7f4cef97e29b67dedeb79d852f = i
If (v75f32dd7af7c50c88e1c9e36464f9437 = bccea5d1530f2675ce2d578639d18d821(i)) Then cd44915ce324cab1a9ed31c5344815293 = i
Next
If IsEmpty(n518c8df004d81b4ce71fe3d6d37b16d1) Or IsEmpty(zf6cf61924ad4eed24efe75fd8fe11f03) Or IsEmpty(z688d39935898fe6d23319b5955b1bd4e) Or IsEmpty(nccfa022ffec34e47eff31f63234958f8) Or IsEmpty(r358d7a7f4cef97e29b67dedeb79d852f) Or IsEmpty(cd44915ce324cab1a9ed31c5344815293) Then
hexaToColor = -1
Else
hexaToColor = RGB(n518c8df004d81b4ce71fe3d6d37b16d1 * 16 + zf6cf61924ad4eed24efe75fd8fe11f03, z688d39935898fe6d23319b5955b1bd4e * 16 + nccfa022ffec34e47eff31f63234958f8, r358d7a7f4cef97e29b67dedeb79d852f * 16 + cd44915ce324cab1a9ed31c5344815293)
End If
Else
hexaToColor = -1
End If
End Function
Function colorToHexa(couleur_color)
ccff68fcb7b9be7f9478cd789875aeafe = Int(couleur_color Mod 256)
b1d3cf707d059f12439a2cf438e305d41 = Int((couleur_color Mod 65536) / 256)
xfa43d3b8d8e5b42196adc73d38dd6c96 = Int(couleur_color / 65536)
n518c8df004d81b4ce71fe3d6d37b16d1 = Int(ccff68fcb7b9be7f9478cd789875aeafe / 16)
zf6cf61924ad4eed24efe75fd8fe11f03 = Int(ccff68fcb7b9be7f9478cd789875aeafe Mod 16)
z688d39935898fe6d23319b5955b1bd4e = Int(b1d3cf707d059f12439a2cf438e305d41 / 16)
nccfa022ffec34e47eff31f63234958f8 = Int(b1d3cf707d059f12439a2cf438e305d41 Mod 16)
r358d7a7f4cef97e29b67dedeb79d852f = Int(xfa43d3b8d8e5b42196adc73d38dd6c96 / 16)
cd44915ce324cab1a9ed31c5344815293 = Int(xfa43d3b8d8e5b42196adc73d38dd6c96 Mod 16)
bccea5d1530f2675ce2d578639d18d821 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
colorToHexa = bccea5d1530f2675ce2d578639d18d821(n518c8df004d81b4ce71fe3d6d37b16d1) & bccea5d1530f2675ce2d578639d18d821(zf6cf61924ad4eed24efe75fd8fe11f03) & bccea5d1530f2675ce2d578639d18d821(z688d39935898fe6d23319b5955b1bd4e) & bccea5d1530f2675ce2d578639d18d821(nccfa022ffec34e47eff31f63234958f8) & bccea5d1530f2675ce2d578639d18d821(r358d7a7f4cef97e29b67dedeb79d852f) & bccea5d1530f2675ce2d578639d18d821(cd44915ce324cab1a9ed31c5344815293)
End Function
Function arrayEmpty(ByVal tableau)
On Error GoTo erreur
arrayEmpty = True
If UBound(tableau) >= 0 Then
For Each t7079a7885a1112eb9795029bb2b3db39 In tableau
If Not IsEmpty(t7079a7885a1112eb9795029bb2b3db39) Then
arrayEmpty = False
Exit For
End If
Next
End If
erreur:
End Function
Function inArray(tableau, recherche)
inArray = False
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
inArray = True
Exit For
End If
Next
End Function
Function arrayPos(tableau, recherche)
arrayPos = -1
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
arrayPos = m10509d317a03d8e9a09401b6c7d3443f
Exit For
End If
Next
End Function
Function arrayCount(tableau, recherche)
arrayCount = 0
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
arrayCount = arrayCount + 1
End If
Next
End Function
Function arrayDuplicates(tableau)
arrayDuplicates = False
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = tableau(r5c35bb7b2f38a0279516dc1f7d812cb0) And m10509d317a03d8e9a09401b6c7d3443f <> r5c35bb7b2f38a0279516dc1f7d812cb0 Then
arrayDuplicates = True
Exit Function
End If
Next
Next
End Function
Sub arrayDuplicatesDelete(tableau)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
For m10509d317a03d8e9a09401b6c7d3443f = q1566874ec78489593ce052b29dbd7711 To tab7602839136c4b1975a05013a26bf0f Step -1
If arrayCount(tableau, tableau(m10509d317a03d8e9a09401b6c7d3443f)) > 1 Then
arrayNumDelete tableau, m10509d317a03d8e9a09401b6c7d3443f
End If
Next
End Sub
Sub arrayDuplicatesList(tableau)
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
ReDim tableau(q1566874ec78489593ce052b29dbd7711, LBound(tableau, 1) + 1)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f, 0) = b005fede37fa701774f99f750c15a4849(m10509d317a03d8e9a09401b6c7d3443f)
tableau(m10509d317a03d8e9a09401b6c7d3443f, 1) = arrayCount(b005fede37fa701774f99f750c15a4849, tableau(m10509d317a03d8e9a09401b6c7d3443f, 0))
Next
End Sub
Sub arrayAdd(tableau, valeur)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 + 1)
tableau(q1566874ec78489593ce052b29dbd7711 + 1) = valeur
End Sub
Function arrayMax(tableau)
arrayMax = ""
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If IsNumeric(tableau(m10509d317a03d8e9a09401b6c7d3443f)) Then
b24fd9903973c4a76619492de387eb72d = Val(tableau(m10509d317a03d8e9a09401b6c7d3443f))
If arrayMax = "" Then
arrayMax = b24fd9903973c4a76619492de387eb72d
ElseIf b24fd9903973c4a76619492de387eb72d > arrayMax Then
arrayMax = b24fd9903973c4a76619492de387eb72d
End If
End If
Next
End Function
Function arrayMin(tableau)
arrayMin = ""
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If IsNumeric(tableau(m10509d317a03d8e9a09401b6c7d3443f)) Then
b24fd9903973c4a76619492de387eb72d = Val(tableau(m10509d317a03d8e9a09401b6c7d3443f))
If arrayMin = "" Then
arrayMin = b24fd9903973c4a76619492de387eb72d
ElseIf b24fd9903973c4a76619492de387eb72d < arrayMin Then
arrayMin = b24fd9903973c4a76619492de387eb72d
End If
End If
Next
End Function
Sub arrayRandomize(tableau)
Randomize
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
vf595dadd3ca0b1b7a7edad3d41e21477 = q1566874ec78489593ce052b29dbd7711 - tab7602839136c4b1975a05013a26bf0f + 1
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
pos_rand = Int(vf595dadd3ca0b1b7a7edad3d41e21477 * Rnd) + tab7602839136c4b1975a05013a26bf0f
If tableau(pos_rand) = "" Then
tableau(pos_rand) = b005fede37fa701774f99f750c15a4849(m10509d317a03d8e9a09401b6c7d3443f)
Else
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
End Sub
Sub arraySortAsc(tableau)
On Error Resume Next
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
Erase tableau
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
r2b59117c9107da0472e2a0e9fd7f6f39 = tab7602839136c4b1975a05013a26bf0f
For b24fd9903973c4a76619492de387eb72d = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If LCase(b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)) > LCase(b005fede37fa701774f99f750c15a4849(b24fd9903973c4a76619492de387eb72d)) And r5c35bb7b2f38a0279516dc1f7d812cb0 <> b24fd9903973c4a76619492de387eb72d Then
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
End If
Next
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 1
If tableau(r2b59117c9107da0472e2a0e9fd7f6f39) = "" Then
tableau(r2b59117c9107da0472e2a0e9fd7f6f39) = b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)
Else
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
Next
End Sub
Sub arraySortDesc(tableau)
On Error Resume Next
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
Erase tableau
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
r2b59117c9107da0472e2a0e9fd7f6f39 = tab7602839136c4b1975a05013a26bf0f
For b24fd9903973c4a76619492de387eb72d = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If LCase(b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)) > LCase(b005fede37fa701774f99f750c15a4849(b24fd9903973c4a76619492de387eb72d)) And r5c35bb7b2f38a0279516dc1f7d812cb0 <> b24fd9903973c4a76619492de387eb72d Then
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
End If
Next
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 1
If tableau(q1566874ec78489593ce052b29dbd7711 - r2b59117c9107da0472e2a0e9fd7f6f39) = "" Then
tableau(q1566874ec78489593ce052b29dbd7711 - r2b59117c9107da0472e2a0e9fd7f6f39) = b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)
Else
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
Next
End Sub
Sub arrayNumDelete(tableau, ByVal numero As Long)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
If numero < tab7602839136c4b1975a05013a26bf0f Or numero > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro hors tableau ...", 48, "Erreur"
Exit Sub
ElseIf tab7602839136c4b1975a05013a26bf0f = q1566874ec78489593ce052b29dbd7711 Then
Erase tableau
Exit Sub
End If
rb061d472e8d6ce0f61a2c989c2f8b868 = 0
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f - rb061d472e8d6ce0f61a2c989c2f8b868) = tableau(m10509d317a03d8e9a09401b6c7d3443f)
If numero = m10509d317a03d8e9a09401b6c7d3443f Then rb061d472e8d6ce0f61a2c989c2f8b868 = 1
Next
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 - 1)
End Sub
Sub arrayValuesDelete(tableau, recherche)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
rb061d472e8d6ce0f61a2c989c2f8b868 = 0
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f - rb061d472e8d6ce0f61a2c989c2f8b868) = tableau(m10509d317a03d8e9a09401b6c7d3443f)
If recherche = tableau(m10509d317a03d8e9a09401b6c7d3443f) Then rb061d472e8d6ce0f61a2c989c2f8b868 = rb061d472e8d6ce0f61a2c989c2f8b868 + 1
Next
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 - rb061d472e8d6ce0f61a2c989c2f8b868)
End Sub
Sub arrayDebug(tableau, Optional no_depart, Optional limite = 500, Optional separateur = "  /  ")
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
If IsMissing(no_depart) Then no_depart = tab7602839136c4b1975a05013a26bf0f
If no_depart < tab7602839136c4b1975a05013a26bf0f Or no_depart > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro de départ hors du tableau ...", 48, "Erreur"
Exit Sub
End If
If q1566874ec78489593ce052b29dbd7711 - no_depart > limite Then
q1566874ec78489593ce052b29dbd7711 = no_depart + limite - 1
End If
xa9fba8ba98262309771e88ffd09ba804 = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
For m10509d317a03d8e9a09401b6c7d3443f = no_depart To q1566874ec78489593ce052b29dbd7711
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & nb1d7cdfb5d3a97c615baa9931efb339c & "[" & m10509d317a03d8e9a09401b6c7d3443f & "] " & tableau(m10509d317a03d8e9a09401b6c7d3443f)
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
MsgBox xa9fba8ba98262309771e88ffd09ba804
End Sub
Sub array2dDebug(tableau, Optional no_depart, Optional limite = 30, Optional separateur = "  /  ")
tab7602839136c4b1975a05013a26bf0f = LBound(tableau, 1)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau, 1)
zfa3b659b4623b7c99344851973351a1e = LBound(tableau, 2)
tc9530688aeddc0eec72a823a045ece57 = UBound(tableau, 2)
If IsMissing(no_depart) Then no_depart = tab7602839136c4b1975a05013a26bf0f
If no_depart < tab7602839136c4b1975a05013a26bf0f Or no_depart > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro de départ hors du tableau ...", 48, "Erreur"
Exit Sub
End If
If q1566874ec78489593ce052b29dbd7711 - no_depart > limite Then
q1566874ec78489593ce052b29dbd7711 = no_depart + limite - 1
End If
xa9fba8ba98262309771e88ffd09ba804 = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
m623baf3ea6f2658cfcb07bf47d5d645d = ""
For m10509d317a03d8e9a09401b6c7d3443f = no_depart To q1566874ec78489593ce052b29dbd7711
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & m623baf3ea6f2658cfcb07bf47d5d645d
nb1d7cdfb5d3a97c615baa9931efb339c = ""
For r5c35bb7b2f38a0279516dc1f7d812cb0 = zfa3b659b4623b7c99344851973351a1e To tc9530688aeddc0eec72a823a045ece57
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & nb1d7cdfb5d3a97c615baa9931efb339c & "[" & m10509d317a03d8e9a09401b6c7d3443f & ", " & r5c35bb7b2f38a0279516dc1f7d812cb0 & "] " & tableau(m10509d317a03d8e9a09401b6c7d3443f, r5c35bb7b2f38a0279516dc1f7d812cb0)
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
m623baf3ea6f2658cfcb07bf47d5d645d = Chr(10)
Next
MsgBox xa9fba8ba98262309771e88ffd09ba804
End Sub
Function isInt(nombre)
isInt = False
If Not IsNumeric(nombre) Then Exit Function
If Int(nombre) = nombre Or Int(nombre) & "" = nombre Then isInt = True
End Function
Function intRand(valeur_min, valeur_max)
Randomize
If Not isInt(valeur_min) Or Not isInt(valeur_max) Then
intRand = "Erreur : les 2 valeurs doivent être des nombres entiers"
ElseIf valeur_max < valeur_min Then
intRand = "Erreur : entrez la valeur minimale en premier argument puis la valeur maximale en second"
Else
r371eeb7681f0fd6f76f3ea47a39ca185 = valeur_max - valeur_min + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
intRand = valeur_max
Else
intRand = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End If
End Function
Function easterDate(ByVal annee)
If IsDate(annee) Then annee = Year(annee)
If annee < 1900 Or annee > 2200 Then
easterDate = "Erreur : année hors de la plage 1900-2200"
Exit Function
End If
If annee = 1954 Then
easterDate = 19832
ElseIf annee = 1981 Then
easterDate = 29695
ElseIf annee = 2049 Then
easterDate = 54531
ElseIf annee = 2076 Then
easterDate = 64394
ElseIf annee = 2106 Then
easterDate = 75349
ElseIf annee = 2133 Then
easterDate = 85212
Else
easterDate = Round(DateSerial(annee, 4, (234 - 11 * (annee Mod 19)) Mod 30) / 7, 0) * 7 - 6
End If
End Function
Function colLetter(numero)
colLetter = "Erreur : numéro de colonne invalide"
If numero > 0 Then colLetter = Replace(Cells(1, numero).Address(ColumnAbsolute:=False), "$1", "")
End Function
Function colNum(lettre)
colNum = Range(lettre & 1).Column
End Function
Function euDate()
If Day(CDate("2/3/2016")) = 3 Then
euDate = False
Else
euDate = True
End If
End Function
Function nbDaysMonth(date_mois)
nbDaysMonth = "Erreur : date invalide"
If IsDate(date_mois) Then nbDaysMonth = Day(DateSerial(Year(date_mois), Month(date_mois) + 1, 1) - 1)
End Function
Function lastRow(colonne, Optional feuille)
If IsMissing(feuille) Then
If isInt(colonne) Then
lastRow = Cells(Rows.Count, colonne).End(xlUp).Row
Else
lastRow = Range(colonne & Rows.Count).End(xlUp).Row
End If
Else
If isInt(colonne) Then
lastRow = Sheets(feuille).Cells(Rows.Count, colonne).End(xlUp).Row
Else
lastRow = Sheets(feuille).Range(colonne & Rows.Count).End(xlUp).Row
End If
End If
End Function
Function lastCol(ligne, Optional feuille)
If IsMissing(feuille) Then
lastCol = Cells(ligne, Columns.Count).End(xlToLeft).Column
Else
lastCol = Sheets(feuille).Cells(ligne, Columns.Count).End(xlToLeft).Column
End If
End Function
Function lastUsedRow(feuille As Worksheet)
lastUsedRow = feuille.UsedRange.Row + feuille.UsedRange.Rows.Count - 1
End Function
Function lastUsedCol(feuille As Worksheet)
lastUsedCol = feuille.UsedRange.Column + feuille.UsedRange.Columns.Count - 1
End Function
Function isoWeekNum(ByVal date_semaine)
If Not IsDate(date_semaine) Or date_semaine > 999999999 Then date_semaine = CDate(date_semaine)
xc61f35b8cb50d42f1486462a6e77da71 = Array(2921, 7303, 8766, 13148, 17530, 18993, 23375, 27757, 29220, 33602, 37984, 39447, 43829, 48211, 49674, 54056, 58438, 59901, 64283, 68665, 70128, 73417, 74510, 78892, 83274, 84737, 89119, 93501, 94964, 99346, 103728, 105191, 109573)
If inArray(xc61f35b8cb50d42f1486462a6e77da71, Int(date_semaine)) Then
nd8bacef40c9fe87da3a15bf1c5d178a4 = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 52, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
isoWeekNum = nd8bacef40c9fe87da3a15bf1c5d178a4(arrayPos(xc61f35b8cb50d42f1486462a6e77da71, Int(date_semaine)))
Else
isoWeekNum = Int(Format(date_semaine, "ww", vbMonday, 2))
End If
End Function
Function cellsSearch(cellules As Range, recherche, Optional exact = True)
t9fec738b48b8d2b054e722d912f91e21 = ""
xf0d184b2ed503530401798425bd8cb1d = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(cellules.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In cellules
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If exact Then
If q1d635f47a1a748ee6cf29ce3507db033 = recherche Then
xf0d184b2ed503530401798425bd8cb1d = xf0d184b2ed503530401798425bd8cb1d & t9fec738b48b8d2b054e722d912f91e21 & q1d635f47a1a748ee6cf29ce3507db033.Address(RowAbsolute:=False, ColumnAbsolute:=False)
t9fec738b48b8d2b054e722d912f91e21 = "#XLP#"
End If
Else
If q1d635f47a1a748ee6cf29ce3507db033 Like "*" & recherche & "*" Then
xf0d184b2ed503530401798425bd8cb1d = xf0d184b2ed503530401798425bd8cb1d & t9fec738b48b8d2b054e722d912f91e21 & q1d635f47a1a748ee6cf29ce3507db033.Address(RowAbsolute:=False, ColumnAbsolute:=False)
t9fec738b48b8d2b054e722d912f91e21 = "#XLP#"
End If
End If
Next
cellsSearch = Split(xf0d184b2ed503530401798425bd8cb1d, "#XLP#")
End Function
Function linkOpen(lien)
On Error GoTo erreur
linkOpen = True
ActiveWorkbook.FollowHyperlink (lien)
Exit Function
erreur: linkOpen = False
End Function
Function htmlCodePage(lien, Optional donnees = "")
On Error Resume Next
htmlCodePage = -1
With CreateObject("MSXML2.XMLHTTP")
.Open IIf(donnees = "", "GET", "POST"), lien, False
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.SetRequestHeader "User-Agent", "Mozilla/5.0"
If donnees = "" Then
.Send
Else
.Send donnees
End If
If .ReadyState = 4 And .Status = 200 Then
htmlCodePage = .ResponseText
End If
End With
End Function
Function internet()
internet = IIf(htmlCodePage("https://www.excel-pratique.com/s/information/internet") = "ok", True, False)
End Function
Function colorBox(Optional couleur_initiale, Optional titre)
On Error Resume Next
z821d24946133b7e434edcf2d7fbf25fd = Empty
Load UserForm_ColorBox
If Not IsMissing(couleur_initiale) Then
UserForm_ColorBox.Label_apercu.BackColor = couleur_initiale
UserForm_ColorBox.TextBox_couleur_hexa = "#" & colorToHexa(couleur_initiale)
End If
If Not IsMissing(titre) Then
UserForm_ColorBox.Caption = titre
End If
UserForm_ColorBox.Show
colorBox = z821d24946133b7e434edcf2d7fbf25fd
End Function
Function datePicker(Optional date_initiale, Optional style = 0, Optional bouton_ajd = 0, Optional no_semaine = 0, Optional titre)
On Error Resume Next
w7edc795356cdc3e639b1213526b5fe96 = Empty
v66724ada74e38279591b6dccf452d874 = style
e9f96cb66878c48ff79e44bf52ae10b34 = no_semaine
Load UserForm_DatePicker
If Not IsMissing(date_initiale) Then
If Not IsDate(date_initiale) Or date_initiale < 1 Then date_initiale = Date
If date_initiale <= 60 Then date_initiale = date_initiale + 1
rf16c5a73de3035d6b602cdc40cfa22d9 = CDate(date_initiale)
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
UserForm_DatePicker.b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
UserForm_DatePicker.nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End If
If style = 1 Then
For Each controle_i In UserForm_DatePicker.Controls
controle_i.Top = controle_i.Top - 60
Next
UserForm_DatePicker.Height = UserForm_DatePicker.Height - 61.5
ElseIf style = 2 Then
UserForm_DatePicker.Label_vert_bas.Visible = False
UserForm_DatePicker.Label_valider.Visible = False
UserForm_DatePicker.Label_annuler.Visible = False
UserForm_DatePicker.Label_v2.Visible = False
For Each controle_i In UserForm_DatePicker.Controls
controle_i.Top = controle_i.Top - 118.5
Next
UserForm_DatePicker.Height = UserForm_DatePicker.Height - 115.5
End If
If bouton_ajd = 1 Then
If style = 2 Then
UserForm_DatePicker.CommandButton_valider.Left = 138
UserForm_DatePicker.CommandButton_valider.Width = 63
UserForm_DatePicker.CommandButton_annuler.Left = 72
UserForm_DatePicker.CommandButton_annuler.Width = 63
UserForm_DatePicker.CommandButton_ajd.Visible = True
Else
UserForm_DatePicker.Label_valider.Left = 138
UserForm_DatePicker.Label_valider.Width = 66
UserForm_DatePicker.Label_annuler.Left = 72
UserForm_DatePicker.Label_annuler.Width = 60
UserForm_DatePicker.Label_ajd.Visible = True
End If
End If
If Not IsMissing(titre) Then
UserForm_DatePicker.Caption = titre
End If
UserForm_DatePicker.Show
If w7edc795356cdc3e639b1213526b5fe96 <= 60 And w7edc795356cdc3e639b1213526b5fe96 <> "" Then w7edc795356cdc3e639b1213526b5fe96 = w7edc795356cdc3e639b1213526b5fe96 - 1
datePicker = w7edc795356cdc3e639b1213526b5fe96
End Function
Function isEmail(adresse_email)
isEmail = False
If InStr(1, adresse_email, "..") > 0 Then Exit Function
n13a9aa2266070a179bd28ab37d19feaf = Split(adresse_email, "@")
If UBound(n13a9aa2266070a179bd28ab37d19feaf) <> 1 Then Exit Function
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(0)
If Left(z7c5ff990905d4926e698aa6eb48e7a24, 1) = Chr(34) And Right(z7c5ff990905d4926e698aa6eb48e7a24, 1) = Chr(34) And Len(z7c5ff990905d4926e698aa6eb48e7a24) > 3 Then
Else
For m10509d317a03d8e9a09401b6c7d3443f = 1 To Len(z7c5ff990905d4926e698aa6eb48e7a24)
q2b8c7f41c054959459fe2deedf01a50d = Mid(z7c5ff990905d4926e698aa6eb48e7a24, m10509d317a03d8e9a09401b6c7d3443f, 1)
Select Case q2b8c7f41c054959459fe2deedf01a50d
Case "-", "!", "#", "$", "%", "'", "*", "+", "=", "?", "^", "`", "{", "}", "|", "~", ".", "_"
If m10509d317a03d8e9a09401b6c7d3443f = 1 Or m10509d317a03d8e9a09401b6c7d3443f = Len(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Case "0" To "9", "a" To "z", "A" To "Z"
Case Else
Exit Function
End Select
Next
End If
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(1)
n13a9aa2266070a179bd28ab37d19feaf = Split(z7c5ff990905d4926e698aa6eb48e7a24, ".")
If UBound(n13a9aa2266070a179bd28ab37d19feaf) = 0 Then Exit Function
If Left(z7c5ff990905d4926e698aa6eb48e7a24, 1) = "[" And Right(z7c5ff990905d4926e698aa6eb48e7a24, 1) = "]" And UBound(n13a9aa2266070a179bd28ab37d19feaf) = 3 Then
For r5c35bb7b2f38a0279516dc1f7d812cb0 = 0 To 3
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(r5c35bb7b2f38a0279516dc1f7d812cb0)
z7c5ff990905d4926e698aa6eb48e7a24 = Replace(z7c5ff990905d4926e698aa6eb48e7a24, "[", "")
z7c5ff990905d4926e698aa6eb48e7a24 = Replace(z7c5ff990905d4926e698aa6eb48e7a24, "]", "")
If Len(z7c5ff990905d4926e698aa6eb48e7a24) > 3 Or Not IsNumeric(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Next
isEmail = True
Exit Function
End If
If Len(z7c5ff990905d4926e698aa6eb48e7a24) > 253 Then Exit Function
If UBound(n13a9aa2266070a179bd28ab37d19feaf) > 126 Then Exit Function
For r5c35bb7b2f38a0279516dc1f7d812cb0 = 0 To UBound(n13a9aa2266070a179bd28ab37d19feaf)
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(r5c35bb7b2f38a0279516dc1f7d812cb0)
If r5c35bb7b2f38a0279516dc1f7d812cb0 = UBound(n13a9aa2266070a179bd28ab37d19feaf) And Len(z7c5ff990905d4926e698aa6eb48e7a24) < 2 Then Exit Function
For m10509d317a03d8e9a09401b6c7d3443f = 1 To Len(z7c5ff990905d4926e698aa6eb48e7a24)
q2b8c7f41c054959459fe2deedf01a50d = Mid(z7c5ff990905d4926e698aa6eb48e7a24, m10509d317a03d8e9a09401b6c7d3443f, 1)
Select Case q2b8c7f41c054959459fe2deedf01a50d
Case "-"
If m10509d317a03d8e9a09401b6c7d3443f = 1 Or m10509d317a03d8e9a09401b6c7d3443f = Len(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Case 0 To 9, "a" To "z", "A" To "Z"
Case Else
Exit Function
End Select
Next
Next
isEmail = True
End Function
Sub mail(email_destinataire, email_expediteur, sujet, message_html, utilisateur, mot_de_passe, serveur_smtp, Optional serveur_port = 465, Optional nom_expediteur = "", Optional email_destinataire_CC = "", Optional email_destinataire_BCC = "")
email_destinataire = Trim(LCase(email_destinataire))
email_expediteur = Trim(LCase(email_expediteur))
email_destinataire_CC = Trim(LCase(email_destinataire_CC))
email_destinataire_BCC = Trim(LCase(email_destinataire_BCC))
If utilisateur = "" Then
MsgBox "Utilisateur manquant.", 48, "Erreur"
Exit Sub
End If
If mot_de_passe = "" Then
MsgBox "Mot de passe manquant.", 48, "Erreur"
Exit Sub
End If
If Not isEmail(email_destinataire) Then
MsgBox "Adresse email du destinataire invalide : " & vbNewLine & vbNewLine & email_destinataire, 48, "Erreur"
Exit Sub
ElseIf Not isEmail(email_expediteur) Then
MsgBox "Adresse email de l'expéditeur invalide : " & vbNewLine & vbNewLine & email_expediteur, 48, "Erreur"
Exit Sub
End If
If email_destinataire_CC <> "" Then
If Not isEmail(email_destinataire_CC) Then
MsgBox "Adresse email du destinataire CC invalide : " & vbNewLine & vbNewLine & email_destinataire_CC, 48, "Erreur"
Exit Sub
End If
End If
If email_destinataire_BCC <> "" Then
If Not isEmail(email_destinataire_BCC) Then
MsgBox "Adresse email du destinataire BCC invalide : " & vbNewLine & vbNewLine & email_destinataire_BCC, 48, "Erreur"
Exit Sub
End If
End If
If nom_expediteur = "" Then
email_from = email_expediteur
Else
email_from = """" & nom_expediteur & """ <" & email_expediteur & ">"
End If
Set r4b79447cf8117bbf66fcd05def7da711 = CreateObject("CDO.Message")
Set nd962792c3fc4808eed0fc068cec6244b = CreateObject("CDO.Configuration")
With nd962792c3fc4808eed0fc068cec6244b
.Load -1
End With
Set z847d6f9b5748a966d0ccc693bc342b73 = nd962792c3fc4808eed0fc068cec6244b.Fields
With z847d6f9b5748a966d0ccc693bc342b73
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = serveur_smtp
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = serveur_port
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = utilisateur
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mot_de_passe
.Update
End With
With r4b79447cf8117bbf66fcd05def7da711
Set .Configuration = nd962792c3fc4808eed0fc068cec6244b
.To = email_destinataire
.Cc = email_destinataire_CC
.Bcc = email_destinataire_BCC
.From = email_from
.Subject = sujet
.TextBody = ""
.HTMLBody = "<html><body>" & message_html & "</body></html>"
.Send
End With
Set r4b79447cf8117bbf66fcd05def7da711 = Nothing
Set nd962792c3fc4808eed0fc068cec6244b = Nothing
Set z847d6f9b5748a966d0ccc693bc342b73 = Nothing
End Sub
Function regexMatch(texte, expression_reguliere)
If expression_reguliere = "" Then
regexMatch = ""
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
regexMatch = nd3757af900e8b70f7039d4958cbfd4c9.test(texte)
End Function
Function regexReplace(texte, expression_reguliere, remplacement)
If expression_reguliere = "" Then
regexReplace = ""
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
regexReplace = nd3757af900e8b70f7039d4958cbfd4c9.Replace(texte, remplacement)
End Function
Function regexExtract(texte, expression_reguliere, Optional separateur)
regexExtract = ""
If expression_reguliere = "" Then
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object, m710c20329dabaddc497644408d16fdcc As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
If nd3757af900e8b70f7039d4958cbfd4c9.test(texte) Then
Set m710c20329dabaddc497644408d16fdcc = nd3757af900e8b70f7039d4958cbfd4c9.Execute(texte)
c2f9dbfcef4e6f1dfd446fa2d3db8d4c7 = m710c20329dabaddc497644408d16fdcc.Count
r2cabcd7ac03ce4c5875dec64fb50e2ad = 0
For m10509d317a03d8e9a09401b6c7d3443f = 0 To c2f9dbfcef4e6f1dfd446fa2d3db8d4c7 - 1
r2cabcd7ac03ce4c5875dec64fb50e2ad = r2cabcd7ac03ce4c5875dec64fb50e2ad + m710c20329dabaddc497644408d16fdcc.Item(m10509d317a03d8e9a09401b6c7d3443f).submatches.Count
Next
If r2cabcd7ac03ce4c5875dec64fb50e2ad = 0 Then
regexExtract = m710c20329dabaddc497644408d16fdcc.Item(0)
Else
zcd9500946692464ec951aaa442358ff1 = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Count
If IsMissing(separateur) Then
Dim n615375fee3ed95adc44df3c43f2fc5fc()
ReDim n615375fee3ed95adc44df3c43f2fc5fc(zcd9500946692464ec951aaa442358ff1 - 1)
For m10509d317a03d8e9a09401b6c7d3443f = 0 To zcd9500946692464ec951aaa442358ff1 - 1
n615375fee3ed95adc44df3c43f2fc5fc(m10509d317a03d8e9a09401b6c7d3443f) = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Item(m10509d317a03d8e9a09401b6c7d3443f)
Next
regexExtract = n615375fee3ed95adc44df3c43f2fc5fc
Else
For m10509d317a03d8e9a09401b6c7d3443f = 0 To zcd9500946692464ec951aaa442358ff1 - 1
tad8fcb85b98d0d894d693f3df1a90e52 = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Item(m10509d317a03d8e9a09401b6c7d3443f)
regexExtract = regexExtract & IIf(m10509d317a03d8e9a09401b6c7d3443f > 0 And tad8fcb85b98d0d894d693f3df1a90e52 <> "", separateur, "") & tad8fcb85b98d0d894d693f3df1a90e52
Next
End If
End If
End If
End Function
Function isUrl(texte)
isUrl = regexMatch(texte, "^(https?://(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?://(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$")
End Function

                                    

Deobfuscated


                                        Attribute VB_Name = "FONCTIONS_XLP"
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Global z821d24946133b7e434edcf2d7fbf25fd, rf16c5a73de3035d6b602cdc40cfa22d9, bc8f13f08f0957b431dc7208a8ad6d128, w7edc795356cdc3e639b1213526b5fe96, v66724ada74e38279591b6dccf452d874, e9f96cb66878c48ff79e44bf52ae10b34, t0a46ff83dccf30afcf6650fb0c207e16
Function VERSION_FONCTIONS_XLP()
Application.Volatile
VERSION_FONCTIONS_XLP = "3.1.1"
End Function
Function NOM_FEUILLE(cellule As Range)
Application.Volatile
NOM_FEUILLE = cellule.Worksheet.Name
End Function
Function NO_COULEUR(cellule As Range)
Application.Volatile
NO_COULEUR = qdf82bb4550e446d7960ab59a6037a054(cellule)
End Function
Private Function qdf82bb4550e446d7960ab59a6037a054(xef06f5b89d66c84a1c10c4404a551ef1)
If Val(Application.Version) <= 12 Then
qdf82bb4550e446d7960ab59a6037a054 = xef06f5b89d66c84a1c10c4404a551ef1.Interior.Color
Else
qdf82bb4550e446d7960ab59a6037a054 = Evaluate("couleurCelluleDisplayFormat('" & xef06f5b89d66c84a1c10c4404a551ef1.Worksheet.Name & "'!" & xef06f5b89d66c84a1c10c4404a551ef1(1).Address & ")")
End If
End Function
Private Function couleurCelluleDisplayFormat(z38b89092a9a1179eaa08ec4ba874a585 As Range)
couleurCelluleDisplayFormat = z38b89092a9a1179eaa08ec4ba874a585.DisplayFormat.Interior.Color
End Function
Function NO_COULEUR_HEX(hexa)
Application.Volatile
NO_COULEUR_HEX = hexaToColor(hexa)
End Function
Function NO_COULEUR_RGB_CELL(cellule As Range, Optional separateur = ", ")
Application.Volatile
zae1c64960fc246fb07f02fe2bfa58d9e = cellule.Interior.Color
ccff68fcb7b9be7f9478cd789875aeafe = Int(zae1c64960fc246fb07f02fe2bfa58d9e Mod 256)
b1d3cf707d059f12439a2cf438e305d41 = Int((zae1c64960fc246fb07f02fe2bfa58d9e Mod 65536) / 256)
xfa43d3b8d8e5b42196adc73d38dd6c96 = Int(zae1c64960fc246fb07f02fe2bfa58d9e / 65536)
NO_COULEUR_RGB_CELL = ccff68fcb7b9be7f9478cd789875aeafe & separateur & b1d3cf707d059f12439a2cf438e305d41 & separateur & xfa43d3b8d8e5b42196adc73d38dd6c96
End Function
Function NO_COULEUR_HEX_CELL(cellule As Range)
Application.Volatile
NO_COULEUR_HEX_CELL = colorToHexa(qdf82bb4550e446d7960ab59a6037a054(cellule))
End Function
Function NB_COLORE(plage As Range)
Application.Volatile
NB_COLORE = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) <> 16777215 Then NB_COLORE = NB_COLORE + 1
Next
End Function
Function NB_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
NB_SI_COULEUR = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then NB_SI_COULEUR = NB_SI_COULEUR + 1
Next
End Function
Function SOMME_SI_COLORE(plage As Range, Optional plage_somme As Range)
Application.Volatile
SOMME_SI_COLORE = 0
q46a682445cf5a55eb5049b107a89cc47 = plage.Cells.Count
If plage_somme Is Nothing Then
Set plage_somme = plage
Else
t327aea80eb34bc8fdb5401f8298081b5 = plage_somme.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
SOMME_SI_COLORE = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(q46a682445cf5a55eb5049b107a89cc47 - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage_somme
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) <> 16777215 Then
n091cb4fc8b63571b168a7569fd3ea730 = m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
If IsNumeric(n091cb4fc8b63571b168a7569fd3ea730) Then
If n091cb4fc8b63571b168a7569fd3ea730 And VarType(n091cb4fc8b63571b168a7569fd3ea730) = 11 Then n091cb4fc8b63571b168a7569fd3ea730 = 1
SOMME_SI_COLORE = SOMME_SI_COLORE + n091cb4fc8b63571b168a7569fd3ea730
End If
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function SOMME_SI_COULEUR(plage As Range, couleur As Long, Optional plage_somme As Range)
Application.Volatile
SOMME_SI_COULEUR = 0
q46a682445cf5a55eb5049b107a89cc47 = plage.Cells.Count
If plage_somme Is Nothing Then
Set plage_somme = plage
Else
t327aea80eb34bc8fdb5401f8298081b5 = plage_somme.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
SOMME_SI_COULEUR = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(q46a682445cf5a55eb5049b107a89cc47 - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage_somme
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
n091cb4fc8b63571b168a7569fd3ea730 = m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
If IsNumeric(n091cb4fc8b63571b168a7569fd3ea730) Then
If n091cb4fc8b63571b168a7569fd3ea730 And VarType(n091cb4fc8b63571b168a7569fd3ea730) = 11 Then n091cb4fc8b63571b168a7569fd3ea730 = 1
SOMME_SI_COULEUR = SOMME_SI_COULEUR + n091cb4fc8b63571b168a7569fd3ea730
End If
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function MAX_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
MAX_SI_COULEUR = "vide$!$"
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If MAX_SI_COULEUR = "vide$!$" Then
MAX_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
ElseIf q1d635f47a1a748ee6cf29ce3507db033 > MAX_SI_COULEUR Then
MAX_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
If MAX_SI_COULEUR = "vide$!$" Then MAX_SI_COULEUR = " - "
End Function
Function MIN_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
MIN_SI_COULEUR = "vide$!$"
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If MIN_SI_COULEUR = "vide$!$" Then
MIN_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
ElseIf q1d635f47a1a748ee6cf29ce3507db033 < MIN_SI_COULEUR Then
MIN_SI_COULEUR = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
If MIN_SI_COULEUR = "vide$!$" Then MIN_SI_COULEUR = " - "
End Function
Function MOYENNE_SI_COULEUR(plage As Range, couleur As Long)
Application.Volatile
vf595dadd3ca0b1b7a7edad3d41e21477 = 0
c645e08cfe9d15185807dddb4552c8f53 = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
If qdf82bb4550e446d7960ab59a6037a054(q1d635f47a1a748ee6cf29ce3507db033) = couleur Then
If IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Then
c645e08cfe9d15185807dddb4552c8f53 = c645e08cfe9d15185807dddb4552c8f53 + q1d635f47a1a748ee6cf29ce3507db033
vf595dadd3ca0b1b7a7edad3d41e21477 = vf595dadd3ca0b1b7a7edad3d41e21477 + 1
End If
End If
End If
End If
Next
If vf595dadd3ca0b1b7a7edad3d41e21477 = 0 Then
MOYENNE_SI_COULEUR = " - "
Else
MOYENNE_SI_COULEUR = c645e08cfe9d15185807dddb4552c8f53 / vf595dadd3ca0b1b7a7edad3d41e21477
End If
End Function
Function ALEATOIRE(valeur_min As Long, valeur_max As Long)
Application.Volatile
Randomize
r371eeb7681f0fd6f76f3ea47a39ca185 = Abs(valeur_max - valeur_min) + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
ALEATOIRE = valeur_max
Else
ALEATOIRE = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End Function
Function ALEATOIRE_NON_VOLATILE(valeur_min As Long, valeur_max As Long)
Randomize
r371eeb7681f0fd6f76f3ea47a39ca185 = Abs(valeur_max - valeur_min) + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
ALEATOIRE_NON_VOLATILE = valeur_max
Else
ALEATOIRE_NON_VOLATILE = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End Function
Function JOINDRE(plage As Range, Optional separateur = "")
Application.Volatile
JOINDRE = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
JOINDRE = JOINDRE & nb1d7cdfb5d3a97c615baa9931efb339c & q1d635f47a1a748ee6cf29ce3507db033
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
End Function
Function JOINDRE_NON_VIDE(plage As Range, Optional separateur = "")
Application.Volatile
JOINDRE_NON_VIDE = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
JOINDRE_NON_VIDE = JOINDRE_NON_VIDE & nb1d7cdfb5d3a97c615baa9931efb339c & q1d635f47a1a748ee6cf29ce3507db033
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
End If
Next
End Function
Function JOINDRE_UNIQUE(plage As Range, Optional separateur = "")
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_UNIQUE = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If Not inArray(b005fede37fa701774f99f750c15a4849, q1d635f47a1a748ee6cf29ce3507db033) Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
JOINDRE_UNIQUE = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_NON_VIDE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_NON_VIDE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_NON_VIDE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function JOINDRE_UNIQUE_TRI(plage As Range, Optional separateur = "", Optional ordre_tri = 0)
Application.Volatile
Dim b005fede37fa701774f99f750c15a4849()
ReDim b005fede37fa701774f99f750c15a4849(0 To plage.Count - 1)
JOINDRE_UNIQUE_TRI = ""
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If Not inArray(b005fede37fa701774f99f750c15a4849, q1d635f47a1a748ee6cf29ce3507db033) Then
b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa > 0 Then
ReDim Preserve b005fede37fa701774f99f750c15a4849(e4bbb916b768fa62e2edfdc7b2c6ba8fa - 1)
If ordre_tri = 1 Then
arraySortDesc b005fede37fa701774f99f750c15a4849
Else
arraySortAsc b005fede37fa701774f99f750c15a4849
End If
JOINDRE_UNIQUE_TRI = Join(b005fede37fa701774f99f750c15a4849, separateur)
End If
End Function
Function TABLEAU_HTML(plage As Range)
Application.Volatile
m623baf3ea6f2658cfcb07bf47d5d645d = ""
n0c2c1a2fb4816b58f4873a84be10edb1 = "<table>"
b6d07ece4aa22000776d0d4cc879f0dbf = "</table>"
ye5030baabf2553a9cb51371618d457d3 = "<tr>"
xd93ac5bdf6eda6c9bff4a613aba0745f = "</tr>"
z13cc4592f3bdacaf54b8cae5157842e4 = "<td>"
n564317fe48e509f9199b767945f2b8e9 = "</td>"
v55b169dc89304661f14a3174b05192da = 0
TABLEAU_HTML = n0c2c1a2fb4816b58f4873a84be10edb1
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
bdc2df50b915072f5d7bf2b8971ce1037 = q1d635f47a1a748ee6cf29ce3507db033.Row
If v55b169dc89304661f14a3174b05192da = 0 Then
TABLEAU_HTML = TABLEAU_HTML & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
ElseIf v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037 Then
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
Else
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
End If
v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037
Next
TABLEAU_HTML = TABLEAU_HTML & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & b6d07ece4aa22000776d0d4cc879f0dbf
End Function
Function TABLEAU_HTML_AVANCE(plage As Range)
Application.Volatile
m623baf3ea6f2658cfcb07bf47d5d645d = ""
n0c2c1a2fb4816b58f4873a84be10edb1 = "<table style=""border-collapse:collapse"">"
b6d07ece4aa22000776d0d4cc879f0dbf = "</table>"
ye5030baabf2553a9cb51371618d457d3 = "<tr>"
xd93ac5bdf6eda6c9bff4a613aba0745f = "</tr>"
n564317fe48e509f9199b767945f2b8e9 = "</td>"
v55b169dc89304661f14a3174b05192da = 0
z0f97e49ceac5d474fe841e3714e2d99e = -1
TABLEAU_HTML_AVANCE = n0c2c1a2fb4816b58f4873a84be10edb1
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
z13cc4592f3bdacaf54b8cae5157842e4 = "<td>"
bdc2df50b915072f5d7bf2b8971ce1037 = q1d635f47a1a748ee6cf29ce3507db033.Row
tb3a9e884374cd528719ebeea39fb6dd9 = ""
If q1d635f47a1a748ee6cf29ce3507db033.Font.Bold Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "font-weight:bold;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Italic Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "font-style:italic;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Underline <> xlUnderlineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-decoration:underline;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = -4108 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-align:center;"
ElseIf q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = -4152 Or (q1d635f47a1a748ee6cf29ce3507db033.HorizontalAlignment = 1 And (IsNumeric(q1d635f47a1a748ee6cf29ce3507db033) Or IsDate(q1d635f47a1a748ee6cf29ce3507db033))) Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "text-align:right;"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Font.Color <> 0 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "color:#" & colorToHexa(q1d635f47a1a748ee6cf29ce3507db033.Font.Color) & ";"
End If
If q1d635f47a1a748ee6cf29ce3507db033.Interior.Color <> 16777215 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "background:#" & colorToHexa(q1d635f47a1a748ee6cf29ce3507db033.Interior.Color) & ";"
End If
vfac096d2cc7055ea0283ac609944d01c = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeTop).LineStyle
m13e1a7312cf31a0660de9f7e7f770b74 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeBottom).LineStyle
qc087884cac5960864c30ae51395cedb0 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeLeft).LineStyle
r96418b75442ec03334a851a44984a6a0 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeRight).LineStyle
x4fefe8b398df47b40192ec8f5c8f89a2 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeTop).Color
re616977cc9799a997cb366cb79f3a02b = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeBottom).Color
xd62043be3938d8221f75c5a61846509a = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeLeft).Color
m3789f43ce9df0adc436a79b4dacc84e4 = q1d635f47a1a748ee6cf29ce3507db033.Borders(xlEdgeRight).Color
If vfac096d2cc7055ea0283ac609944d01c = m13e1a7312cf31a0660de9f7e7f770b74 And vfac096d2cc7055ea0283ac609944d01c = qc087884cac5960864c30ae51395cedb0 And vfac096d2cc7055ea0283ac609944d01c = r96418b75442ec03334a851a44984a6a0 And x4fefe8b398df47b40192ec8f5c8f89a2 = re616977cc9799a997cb366cb79f3a02b And x4fefe8b398df47b40192ec8f5c8f89a2 = xd62043be3938d8221f75c5a61846509a And x4fefe8b398df47b40192ec8f5c8f89a2 = m3789f43ce9df0adc436a79b4dacc84e4 Then
If vfac096d2cc7055ea0283ac609944d01c <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border:1px solid #" & colorToHexa(x4fefe8b398df47b40192ec8f5c8f89a2) & ";"
End If
Else
If vfac096d2cc7055ea0283ac609944d01c <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-top:1px solid #" & colorToHexa(x4fefe8b398df47b40192ec8f5c8f89a2) & ";"
End If
If m13e1a7312cf31a0660de9f7e7f770b74 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-bottom:1px solid #" & colorToHexa(re616977cc9799a997cb366cb79f3a02b) & ";"
End If
If qc087884cac5960864c30ae51395cedb0 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-left:1px solid #" & colorToHexa(xd62043be3938d8221f75c5a61846509a) & ";"
End If
If r96418b75442ec03334a851a44984a6a0 <> xlLineStyleNone Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "border-right:1px solid #" & colorToHexa(m3789f43ce9df0adc436a79b4dacc84e4) & ";"
End If
End If
If v55b169dc89304661f14a3174b05192da = 0 Or z0f97e49ceac5d474fe841e3714e2d99e = bdc2df50b915072f5d7bf2b8971ce1037 Then
tb3a9e884374cd528719ebeea39fb6dd9 = tb3a9e884374cd528719ebeea39fb6dd9 & "width:" & q1d635f47a1a748ee6cf29ce3507db033.Columns.Width & "px;"
End If
If tb3a9e884374cd528719ebeea39fb6dd9 <> "" Then z13cc4592f3bdacaf54b8cae5157842e4 = "<td style=""" & tb3a9e884374cd528719ebeea39fb6dd9 & """>"
If v55b169dc89304661f14a3174b05192da = 0 Then
z0f97e49ceac5d474fe841e3714e2d99e = bdc2df50b915072f5d7bf2b8971ce1037
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
ElseIf v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037 Then
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
Else
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & ye5030baabf2553a9cb51371618d457d3 & z13cc4592f3bdacaf54b8cae5157842e4 & q1d635f47a1a748ee6cf29ce3507db033
End If
v55b169dc89304661f14a3174b05192da = bdc2df50b915072f5d7bf2b8971ce1037
Next
TABLEAU_HTML_AVANCE = TABLEAU_HTML_AVANCE & n564317fe48e509f9199b767945f2b8e9 & xd93ac5bdf6eda6c9bff4a613aba0745f & m623baf3ea6f2658cfcb07bf47d5d645d & b6d07ece4aa22000776d0d4cc879f0dbf
End Function
Function DATE_PAQUES(annee)
Application.Volatile
DATE_PAQUES = easterDate(annee)
End Function
Function EST_PAQUES(date_a_tester)
Application.Volatile
EST_PAQUES = False
If Not IsDate(date_a_tester) Then Exit Function
If easterDate(date_a_tester) = Int(CDate(date_a_tester)) Then EST_PAQUES = True
End Function
Function DATE_LUNDI_PENTECOTE(annee)
Application.Volatile
DATE_LUNDI_PENTECOTE = easterDate(annee) + 50
End Function
Function DATE_ASCENSION(annee)
Application.Volatile
DATE_ASCENSION = easterDate(annee) + 39
End Function
Function CONVERTIR_EN_HEURES(heures)
Application.Volatile
If IsNumeric(heures) Then
CONVERTIR_EN_HEURES = heures * 24
Else
heures = LCase(heures)
heures = Replace(heures, "h", ":")
n3b6c342b0293fceb687c35b85d3de147 = Split(heures, ":")
For m10509d317a03d8e9a09401b6c7d3443f = LBound(n3b6c342b0293fceb687c35b85d3de147) To UBound(n3b6c342b0293fceb687c35b85d3de147)
If m10509d317a03d8e9a09401b6c7d3443f = 3 Then Exit For
If m10509d317a03d8e9a09401b6c7d3443f = 0 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f))
ElseIf m10509d317a03d8e9a09401b6c7d3443f = 1 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f)) / 60
ElseIf m10509d317a03d8e9a09401b6c7d3443f = 2 Then
CONVERTIR_EN_HEURES = CONVERTIR_EN_HEURES + Int(n3b6c342b0293fceb687c35b85d3de147(m10509d317a03d8e9a09401b6c7d3443f)) / 3600
End If
Next
End If
End Function
Function nb_jours_mois(date_mois)
Application.Volatile
nb_jours_mois = nbDaysMonth(date_mois)
End Function
Function DATE_DIFF(date_1, date_2, Optional jours_complets = False)
Application.Volatile
If Not IsDate(date_1) Or date_1 > 999999999 Then date_1 = CDate(date_1)
If Not IsDate(date_2) Or date_2 > 999999999 Then date_2 = CDate(date_2)
If jours_complets = False Then
DATE_DIFF = Abs(date_1 - date_2)
Else
DATE_DIFF = Int(Abs(date_1 - date_2))
End If
End Function
Function NB_TEXTE(valeur, recherche)
Application.Volatile
NB_TEXTE = UBound(Split(valeur, recherche))
End Function
Function NO_SEMAINE_ISO(date_semaine)
Application.Volatile
NO_SEMAINE_ISO = isoWeekNum(date_semaine)
End Function
Function SI_NON_VIDE(cellule, Optional valeur_si_oui = "", Optional valeur_si_non = "")
Application.Volatile
If cellule <> "" Then
SI_NON_VIDE = valeur_si_oui
Else
SI_NON_VIDE = valeur_si_non
End If
End Function
Function EXTRAIRE_MOT(texte, Optional position As Long = 1, Optional separateur_1 = " ", Optional separateur_2, Optional separateur_3)
Application.Volatile
If separateur_1 = "" Then separateur_1 = " "
If Not IsMissing(separateur_2) Then
texte = Replace(texte, separateur_2, separateur_1)
End If
If Not IsMissing(separateur_3) Then
texte = Replace(texte, separateur_3, separateur_1)
End If
Do While UBound(Split(texte, separateur_1 & separateur_1)) > 0
texte = Replace(texte, separateur_1 & separateur_1, separateur_1)
Loop
EXTRAIRE_MOT = Split(texte, separateur_1)(position - 1)
End Function
Function DATE_EU()
Application.Volatile
DATE_EU = euDate()
End Function
Function DATE_INVERSER_JM(ByVal date_a_inverser)
Application.Volatile
If IsDate(date_a_inverser) Then
If date_a_inverser > 999999999 Then date_a_inverser = CDate(date_a_inverser)
If Day(date_a_inverser) <= 12 Then
If isInt(date_a_inverser) Then
DATE_INVERSER_JM = DateSerial(Year(date_a_inverser), Day(date_a_inverser), Month(date_a_inverser))
Else
DATE_INVERSER_JM = DateSerial(Year(date_a_inverser), Day(date_a_inverser), Month(date_a_inverser)) + (date_a_inverser - Int(date_a_inverser))
End If
Else
DATE_INVERSER_JM = date_a_inverser
End If
Else
DATE_INVERSER_JM = "Erreur : date invalide"
End If
End Function
Function DOUBLONS(plage As Range)
Application.Volatile
DOUBLONS = False
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If q1d635f47a1a748ee6cf29ce3507db033.Address <> celluleTest_2.Address Then
DOUBLONS = True
Exit Function
End If
End If
End If
Next
End If
Next
End Function
Function DOUBLONS_LISTE(plage As Range, Optional separateur = " / ", Optional valeur_si_aucun_doublon = " - ")
Application.Volatile
e1bae1e6705ccab962b76881e4b0a4780 = 0
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
e1bae1e6705ccab962b76881e4b0a4780 = e1bae1e6705ccab962b76881e4b0a4780 + 1
wa1428a528ec6ba2fc516421e1a74ac8f = 0
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
wa1428a528ec6ba2fc516421e1a74ac8f = wa1428a528ec6ba2fc516421e1a74ac8f + 1
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If e1bae1e6705ccab962b76881e4b0a4780 > wa1428a528ec6ba2fc516421e1a74ac8f Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
End If
End If
Next
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
DOUBLONS_LISTE = valeur_si_aucun_doublon
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
arraySortAsc bccea5d1530f2675ce2d578639d18d821
DOUBLONS_LISTE = Join(bccea5d1530f2675ce2d578639d18d821, separateur)
End If
End Function
Function DOUBLONS_ADRESSES(plage As Range, Optional separateur = ", ", Optional valeur_si_aucun_doublon = " - ")
Application.Volatile
e1bae1e6705ccab962b76881e4b0a4780 = 0
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
e1bae1e6705ccab962b76881e4b0a4780 = e1bae1e6705ccab962b76881e4b0a4780 + 1
wa1428a528ec6ba2fc516421e1a74ac8f = 0
For Each celluleTest_2 In plage
If celluleTest_2.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If celluleTest_2 <> "" Then
wa1428a528ec6ba2fc516421e1a74ac8f = wa1428a528ec6ba2fc516421e1a74ac8f + 1
If q1d635f47a1a748ee6cf29ce3507db033 = celluleTest_2 Then
If e1bae1e6705ccab962b76881e4b0a4780 > wa1428a528ec6ba2fc516421e1a74ac8f Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033.Address) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033.Address
End If
If Not inArray(bccea5d1530f2675ce2d578639d18d821, celluleTest_2.Address) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = celluleTest_2.Address
End If
End If
End If
End If
Next
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
DOUBLONS_ADRESSES = valeur_si_aucun_doublon
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
arraySortAsc bccea5d1530f2675ce2d578639d18d821
DOUBLONS_ADRESSES = Replace(Join(bccea5d1530f2675ce2d578639d18d821, separateur), "$", "")
End If
End Function
Function LISTE_SANS_DOUBLONS(plage As Range, Optional separateur = ", ", Optional ordre_de_tri = 0)
Application.Volatile
Dim bccea5d1530f2675ce2d578639d18d821()
ReDim bccea5d1530f2675ce2d578639d18d821(plage.Count - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If q1d635f47a1a748ee6cf29ce3507db033 <> "" Then
If Not inArray(bccea5d1530f2675ce2d578639d18d821, q1d635f47a1a748ee6cf29ce3507db033) Then
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
bccea5d1530f2675ce2d578639d18d821(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
End If
End If
Next
If e4bbb916b768fa62e2edfdc7b2c6ba8fa = -1 Then
LISTE_SANS_DOUBLONS = ""
Else
arrayValuesDelete bccea5d1530f2675ce2d578639d18d821, ""
If ordre_de_tri Then
arraySortDesc bccea5d1530f2675ce2d578639d18d821
Else
arraySortAsc bccea5d1530f2675ce2d578639d18d821
End If
LISTE_SANS_DOUBLONS = Join(bccea5d1530f2675ce2d578639d18d821, separateur)
End If
End Function
Function EST_EMAIL(adresse_email)
Application.Volatile
EST_EMAIL = isEmail(adresse_email)
End Function
Function REGEX_MATCH(texte, expression_reguliere)
Application.Volatile
REGEX_MATCH = regexMatch(texte, expression_reguliere)
End Function
Function REGEX_REPLACE(texte, expression_reguliere, remplacement)
Application.Volatile
REGEX_REPLACE = regexReplace(texte, expression_reguliere, remplacement)
End Function
Function REGEX_EXTRACT(texte, expression_reguliere, Optional separateur = " / ")
Application.Volatile
REGEX_EXTRACT = regexExtract(texte, expression_reguliere, separateur)
End Function
Function RECHERCHE_X(valeur_cherchee, plage_recherche As Range, plage_resultat As Range, Optional si_aucun_resultat = CVErr(xlErrNA), Optional occurrence As Integer = 1, Optional sens As Integer = 1, Optional correspondance As Integer = 0)
Application.Volatile
If occurrence < 1 Then occurrence = 1
If sens <> 1 Then sens = -1
If correspondance <> 1 And correspondance <> 2 Then correspondance = 0
xf1ec14b22bdd21f9b2f62be25d1a101e = plage_recherche.Rows.Count
r64d7ca71ec9e4081c77d5fbd41e91a1b = plage_resultat.Rows.Count
b30c45a0d8d0d847eecc4f486c2446769 = plage_recherche.Columns.Count
tdd81148e97b802a776295a0f3674ffea = plage_resultat.Columns.Count
If (xf1ec14b22bdd21f9b2f62be25d1a101e > 1 And b30c45a0d8d0d847eecc4f486c2446769 > 1) Or (r64d7ca71ec9e4081c77d5fbd41e91a1b > 1 And tdd81148e97b802a776295a0f3674ffea > 1) Then
RECHERCHE_X = "Erreur : les plages ne peuvent contenir qu'une seule colonne (ou ligne)."
Exit Function
End If
q46a682445cf5a55eb5049b107a89cc47 = plage_recherche.Cells.Count
t327aea80eb34bc8fdb5401f8298081b5 = plage_resultat.Cells.Count
If q46a682445cf5a55eb5049b107a89cc47 <> t327aea80eb34bc8fdb5401f8298081b5 Then
RECHERCHE_X = "Erreur : les plages doivent contenir le même nombre de cellules."
Exit Function
End If
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 Then
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage_recherche.Worksheet)
If ce8260ecc337c70e2e9bc6eab92626afe < q46a682445cf5a55eb5049b107a89cc47 Then q46a682445cf5a55eb5049b107a89cc47 = ce8260ecc337c70e2e9bc6eab92626afe
End If
x97ccc9b2fd85e56f724d7b397e6ec55f = 0
v97cf6ed3f69a10cd18c2240531007260 = IIf(sens = 1, 1, q46a682445cf5a55eb5049b107a89cc47)
m4311bf30fbd46cddb2ca188ab9478202 = IIf(sens = 1, q46a682445cf5a55eb5049b107a89cc47, 1)
For m10509d317a03d8e9a09401b6c7d3443f = v97cf6ed3f69a10cd18c2240531007260 To m4311bf30fbd46cddb2ca188ab9478202 Step sens
bf0f8adedac82d41f963f43b37ac17cbc = False
If correspondance = 0 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) = valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 1 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) Like valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 2 Then
If regexMatch(plage_recherche(m10509d317a03d8e9a09401b6c7d3443f), valeur_cherchee) Then bf0f8adedac82d41f963f43b37ac17cbc = True
End If
If bf0f8adedac82d41f963f43b37ac17cbc Then
x97ccc9b2fd85e56f724d7b397e6ec55f = x97ccc9b2fd85e56f724d7b397e6ec55f + 1
If x97ccc9b2fd85e56f724d7b397e6ec55f = occurrence Then
RECHERCHE_X = plage_resultat(m10509d317a03d8e9a09401b6c7d3443f)
Exit Function
End If
End If
Next
RECHERCHE_X = si_aucun_resultat
End Function
Function EQUIV_X(valeur_cherchee, plage_recherche As Range, Optional si_aucun_resultat = CVErr(xlErrNA), Optional occurrence As Integer = 1, Optional sens As Integer = 1, Optional correspondance As Integer = 0)
Application.Volatile
If occurrence < 1 Then occurrence = 1
If sens <> 1 Then sens = -1
If correspondance <> 1 And correspondance <> 2 Then correspondance = 0
xf1ec14b22bdd21f9b2f62be25d1a101e = plage_recherche.Rows.Count
b30c45a0d8d0d847eecc4f486c2446769 = plage_recherche.Columns.Count
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 And b30c45a0d8d0d847eecc4f486c2446769 > 1 Then
EQUIV_X = "Erreur : la plage ne peut contenir qu'une seule colonne (ou ligne)."
Exit Function
End If
q46a682445cf5a55eb5049b107a89cc47 = plage_recherche.Cells.Count
If xf1ec14b22bdd21f9b2f62be25d1a101e > 1 Then
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage_recherche.Worksheet)
If ce8260ecc337c70e2e9bc6eab92626afe < q46a682445cf5a55eb5049b107a89cc47 Then q46a682445cf5a55eb5049b107a89cc47 = ce8260ecc337c70e2e9bc6eab92626afe
End If
x97ccc9b2fd85e56f724d7b397e6ec55f = 0
v97cf6ed3f69a10cd18c2240531007260 = IIf(sens = 1, 1, q46a682445cf5a55eb5049b107a89cc47)
m4311bf30fbd46cddb2ca188ab9478202 = IIf(sens = 1, q46a682445cf5a55eb5049b107a89cc47, 1)
For m10509d317a03d8e9a09401b6c7d3443f = v97cf6ed3f69a10cd18c2240531007260 To m4311bf30fbd46cddb2ca188ab9478202 Step sens
bf0f8adedac82d41f963f43b37ac17cbc = False
If correspondance = 0 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) = valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 1 Then
If plage_recherche(m10509d317a03d8e9a09401b6c7d3443f) Like valeur_cherchee Then bf0f8adedac82d41f963f43b37ac17cbc = True
ElseIf correspondance = 2 Then
If regexMatch(plage_recherche(m10509d317a03d8e9a09401b6c7d3443f), valeur_cherchee) Then bf0f8adedac82d41f963f43b37ac17cbc = True
End If
If bf0f8adedac82d41f963f43b37ac17cbc Then
x97ccc9b2fd85e56f724d7b397e6ec55f = x97ccc9b2fd85e56f724d7b397e6ec55f + 1
If x97ccc9b2fd85e56f724d7b397e6ec55f = occurrence Then
EQUIV_X = m10509d317a03d8e9a09401b6c7d3443f
Exit Function
End If
End If
Next
EQUIV_X = si_aucun_resultat
End Function
Function NB_SI_REGEX(plage As Range, expression_reguliere As String)
Application.Volatile
NB_SI_REGEX = 0
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If regexMatch(q1d635f47a1a748ee6cf29ce3507db033, expression_reguliere) Then NB_SI_REGEX = NB_SI_REGEX + 1
Next
End Function
Function SOMME_SI_REGEX(plage As Range, somme_plage As Range, expression_reguliere As String)
Application.Volatile
SOMME_SI_REGEX = 0
nbCellules = plage.Count
If nbCellules <> somme_plage.Count Then
SOMME_SI_REGEX = "#PLAGES!"
Exit Function
End If
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(plage.Worksheet)
Dim m94402133e26626b75b6a580b84af4526()
ReDim m94402133e26626b75b6a580b84af4526(nbCellules - 1)
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In somme_plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa) = q1d635f47a1a748ee6cf29ce3507db033
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
e4bbb916b768fa62e2edfdc7b2c6ba8fa = 0
For Each q1d635f47a1a748ee6cf29ce3507db033 In plage
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit Function
If regexMatch(q1d635f47a1a748ee6cf29ce3507db033, expression_reguliere) Then
If IsNumeric(m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)) Then SOMME_SI_REGEX = SOMME_SI_REGEX + m94402133e26626b75b6a580b84af4526(e4bbb916b768fa62e2edfdc7b2c6ba8fa)
End If
e4bbb916b768fa62e2edfdc7b2c6ba8fa = e4bbb916b768fa62e2edfdc7b2c6ba8fa + 1
Next
End Function
Function EST_URL(texte)
Application.Volatile
EST_URL = isUrl(texte)
End Function
Function hexaToColor(valeur_hexa)
If Len(valeur_hexa) = 7 Then valeur_hexa = Mid(valeur_hexa, 2, 6)
If Len(valeur_hexa) = 6 Then
valeur_hexa = LCase(valeur_hexa)
bccea5d1530f2675ce2d578639d18d821 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
z9a57d791210a62f1cc48b29158f5ba6d = Mid(valeur_hexa, 1, 1)
bf9d0e6e8df36cb4288d6b49b87094666 = Mid(valeur_hexa, 2, 1)
e4ded506646c1e88d65d9fd1446f3b0ef = Mid(valeur_hexa, 3, 1)
wa1337b54fa424fa04f59a01cb6340498 = Mid(valeur_hexa, 4, 1)
bf3d02f123b0c6668961643ab59a67833 = Mid(valeur_hexa, 5, 1)
v75f32dd7af7c50c88e1c9e36464f9437 = Mid(valeur_hexa, 6, 1)
For i = 0 To 15
If (z9a57d791210a62f1cc48b29158f5ba6d = bccea5d1530f2675ce2d578639d18d821(i)) Then n518c8df004d81b4ce71fe3d6d37b16d1 = i
If (bf9d0e6e8df36cb4288d6b49b87094666 = bccea5d1530f2675ce2d578639d18d821(i)) Then zf6cf61924ad4eed24efe75fd8fe11f03 = i
If (e4ded506646c1e88d65d9fd1446f3b0ef = bccea5d1530f2675ce2d578639d18d821(i)) Then z688d39935898fe6d23319b5955b1bd4e = i
If (wa1337b54fa424fa04f59a01cb6340498 = bccea5d1530f2675ce2d578639d18d821(i)) Then nccfa022ffec34e47eff31f63234958f8 = i
If (bf3d02f123b0c6668961643ab59a67833 = bccea5d1530f2675ce2d578639d18d821(i)) Then r358d7a7f4cef97e29b67dedeb79d852f = i
If (v75f32dd7af7c50c88e1c9e36464f9437 = bccea5d1530f2675ce2d578639d18d821(i)) Then cd44915ce324cab1a9ed31c5344815293 = i
Next
If IsEmpty(n518c8df004d81b4ce71fe3d6d37b16d1) Or IsEmpty(zf6cf61924ad4eed24efe75fd8fe11f03) Or IsEmpty(z688d39935898fe6d23319b5955b1bd4e) Or IsEmpty(nccfa022ffec34e47eff31f63234958f8) Or IsEmpty(r358d7a7f4cef97e29b67dedeb79d852f) Or IsEmpty(cd44915ce324cab1a9ed31c5344815293) Then
hexaToColor = -1
Else
hexaToColor = RGB(n518c8df004d81b4ce71fe3d6d37b16d1 * 16 + zf6cf61924ad4eed24efe75fd8fe11f03, z688d39935898fe6d23319b5955b1bd4e * 16 + nccfa022ffec34e47eff31f63234958f8, r358d7a7f4cef97e29b67dedeb79d852f * 16 + cd44915ce324cab1a9ed31c5344815293)
End If
Else
hexaToColor = -1
End If
End Function
Function colorToHexa(couleur_color)
ccff68fcb7b9be7f9478cd789875aeafe = Int(couleur_color Mod 256)
b1d3cf707d059f12439a2cf438e305d41 = Int((couleur_color Mod 65536) / 256)
xfa43d3b8d8e5b42196adc73d38dd6c96 = Int(couleur_color / 65536)
n518c8df004d81b4ce71fe3d6d37b16d1 = Int(ccff68fcb7b9be7f9478cd789875aeafe / 16)
zf6cf61924ad4eed24efe75fd8fe11f03 = Int(ccff68fcb7b9be7f9478cd789875aeafe Mod 16)
z688d39935898fe6d23319b5955b1bd4e = Int(b1d3cf707d059f12439a2cf438e305d41 / 16)
nccfa022ffec34e47eff31f63234958f8 = Int(b1d3cf707d059f12439a2cf438e305d41 Mod 16)
r358d7a7f4cef97e29b67dedeb79d852f = Int(xfa43d3b8d8e5b42196adc73d38dd6c96 / 16)
cd44915ce324cab1a9ed31c5344815293 = Int(xfa43d3b8d8e5b42196adc73d38dd6c96 Mod 16)
bccea5d1530f2675ce2d578639d18d821 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
colorToHexa = bccea5d1530f2675ce2d578639d18d821(n518c8df004d81b4ce71fe3d6d37b16d1) & bccea5d1530f2675ce2d578639d18d821(zf6cf61924ad4eed24efe75fd8fe11f03) & bccea5d1530f2675ce2d578639d18d821(z688d39935898fe6d23319b5955b1bd4e) & bccea5d1530f2675ce2d578639d18d821(nccfa022ffec34e47eff31f63234958f8) & bccea5d1530f2675ce2d578639d18d821(r358d7a7f4cef97e29b67dedeb79d852f) & bccea5d1530f2675ce2d578639d18d821(cd44915ce324cab1a9ed31c5344815293)
End Function
Function arrayEmpty(ByVal tableau)
On Error GoTo erreur
arrayEmpty = True
If UBound(tableau) >= 0 Then
For Each t7079a7885a1112eb9795029bb2b3db39 In tableau
If Not IsEmpty(t7079a7885a1112eb9795029bb2b3db39) Then
arrayEmpty = False
Exit For
End If
Next
End If
erreur:
End Function
Function inArray(tableau, recherche)
inArray = False
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
inArray = True
Exit For
End If
Next
End Function
Function arrayPos(tableau, recherche)
arrayPos = -1
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
arrayPos = m10509d317a03d8e9a09401b6c7d3443f
Exit For
End If
Next
End Function
Function arrayCount(tableau, recherche)
arrayCount = 0
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = recherche Then
arrayCount = arrayCount + 1
End If
Next
End Function
Function arrayDuplicates(tableau)
arrayDuplicates = False
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If tableau(m10509d317a03d8e9a09401b6c7d3443f) = tableau(r5c35bb7b2f38a0279516dc1f7d812cb0) And m10509d317a03d8e9a09401b6c7d3443f <> r5c35bb7b2f38a0279516dc1f7d812cb0 Then
arrayDuplicates = True
Exit Function
End If
Next
Next
End Function
Sub arrayDuplicatesDelete(tableau)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
For m10509d317a03d8e9a09401b6c7d3443f = q1566874ec78489593ce052b29dbd7711 To tab7602839136c4b1975a05013a26bf0f Step -1
If arrayCount(tableau, tableau(m10509d317a03d8e9a09401b6c7d3443f)) > 1 Then
arrayNumDelete tableau, m10509d317a03d8e9a09401b6c7d3443f
End If
Next
End Sub
Sub arrayDuplicatesList(tableau)
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
ReDim tableau(q1566874ec78489593ce052b29dbd7711, LBound(tableau, 1) + 1)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f, 0) = b005fede37fa701774f99f750c15a4849(m10509d317a03d8e9a09401b6c7d3443f)
tableau(m10509d317a03d8e9a09401b6c7d3443f, 1) = arrayCount(b005fede37fa701774f99f750c15a4849, tableau(m10509d317a03d8e9a09401b6c7d3443f, 0))
Next
End Sub
Sub arrayAdd(tableau, valeur)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 + 1)
tableau(q1566874ec78489593ce052b29dbd7711 + 1) = valeur
End Sub
Function arrayMax(tableau)
arrayMax = ""
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If IsNumeric(tableau(m10509d317a03d8e9a09401b6c7d3443f)) Then
b24fd9903973c4a76619492de387eb72d = Val(tableau(m10509d317a03d8e9a09401b6c7d3443f))
If arrayMax = "" Then
arrayMax = b24fd9903973c4a76619492de387eb72d
ElseIf b24fd9903973c4a76619492de387eb72d > arrayMax Then
arrayMax = b24fd9903973c4a76619492de387eb72d
End If
End If
Next
End Function
Function arrayMin(tableau)
arrayMin = ""
For m10509d317a03d8e9a09401b6c7d3443f = LBound(tableau) To UBound(tableau)
If IsNumeric(tableau(m10509d317a03d8e9a09401b6c7d3443f)) Then
b24fd9903973c4a76619492de387eb72d = Val(tableau(m10509d317a03d8e9a09401b6c7d3443f))
If arrayMin = "" Then
arrayMin = b24fd9903973c4a76619492de387eb72d
ElseIf b24fd9903973c4a76619492de387eb72d < arrayMin Then
arrayMin = b24fd9903973c4a76619492de387eb72d
End If
End If
Next
End Function
Sub arrayRandomize(tableau)
Randomize
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
vf595dadd3ca0b1b7a7edad3d41e21477 = q1566874ec78489593ce052b29dbd7711 - tab7602839136c4b1975a05013a26bf0f + 1
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
pos_rand = Int(vf595dadd3ca0b1b7a7edad3d41e21477 * Rnd) + tab7602839136c4b1975a05013a26bf0f
If tableau(pos_rand) = "" Then
tableau(pos_rand) = b005fede37fa701774f99f750c15a4849(m10509d317a03d8e9a09401b6c7d3443f)
Else
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
End Sub
Sub arraySortAsc(tableau)
On Error Resume Next
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
Erase tableau
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
r2b59117c9107da0472e2a0e9fd7f6f39 = tab7602839136c4b1975a05013a26bf0f
For b24fd9903973c4a76619492de387eb72d = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If LCase(b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)) > LCase(b005fede37fa701774f99f750c15a4849(b24fd9903973c4a76619492de387eb72d)) And r5c35bb7b2f38a0279516dc1f7d812cb0 <> b24fd9903973c4a76619492de387eb72d Then
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
End If
Next
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 1
If tableau(r2b59117c9107da0472e2a0e9fd7f6f39) = "" Then
tableau(r2b59117c9107da0472e2a0e9fd7f6f39) = b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)
Else
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
Next
End Sub
Sub arraySortDesc(tableau)
On Error Resume Next
b005fede37fa701774f99f750c15a4849 = tableau
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
Erase tableau
ReDim tableau(q1566874ec78489593ce052b29dbd7711)
For r5c35bb7b2f38a0279516dc1f7d812cb0 = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
r2b59117c9107da0472e2a0e9fd7f6f39 = tab7602839136c4b1975a05013a26bf0f
For b24fd9903973c4a76619492de387eb72d = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
If LCase(b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)) > LCase(b005fede37fa701774f99f750c15a4849(b24fd9903973c4a76619492de387eb72d)) And r5c35bb7b2f38a0279516dc1f7d812cb0 <> b24fd9903973c4a76619492de387eb72d Then
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
End If
Next
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 1
If tableau(q1566874ec78489593ce052b29dbd7711 - r2b59117c9107da0472e2a0e9fd7f6f39) = "" Then
tableau(q1566874ec78489593ce052b29dbd7711 - r2b59117c9107da0472e2a0e9fd7f6f39) = b005fede37fa701774f99f750c15a4849(r5c35bb7b2f38a0279516dc1f7d812cb0)
Else
r2b59117c9107da0472e2a0e9fd7f6f39 = r2b59117c9107da0472e2a0e9fd7f6f39 + 1
m10509d317a03d8e9a09401b6c7d3443f = m10509d317a03d8e9a09401b6c7d3443f - 1
End If
Next
Next
End Sub
Sub arrayNumDelete(tableau, ByVal numero As Long)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
If numero < tab7602839136c4b1975a05013a26bf0f Or numero > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro hors tableau ...", 48, "Erreur"
Exit Sub
ElseIf tab7602839136c4b1975a05013a26bf0f = q1566874ec78489593ce052b29dbd7711 Then
Erase tableau
Exit Sub
End If
rb061d472e8d6ce0f61a2c989c2f8b868 = 0
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f - rb061d472e8d6ce0f61a2c989c2f8b868) = tableau(m10509d317a03d8e9a09401b6c7d3443f)
If numero = m10509d317a03d8e9a09401b6c7d3443f Then rb061d472e8d6ce0f61a2c989c2f8b868 = 1
Next
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 - 1)
End Sub
Sub arrayValuesDelete(tableau, recherche)
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
rb061d472e8d6ce0f61a2c989c2f8b868 = 0
For m10509d317a03d8e9a09401b6c7d3443f = tab7602839136c4b1975a05013a26bf0f To q1566874ec78489593ce052b29dbd7711
tableau(m10509d317a03d8e9a09401b6c7d3443f - rb061d472e8d6ce0f61a2c989c2f8b868) = tableau(m10509d317a03d8e9a09401b6c7d3443f)
If recherche = tableau(m10509d317a03d8e9a09401b6c7d3443f) Then rb061d472e8d6ce0f61a2c989c2f8b868 = rb061d472e8d6ce0f61a2c989c2f8b868 + 1
Next
ReDim Preserve tableau(q1566874ec78489593ce052b29dbd7711 - rb061d472e8d6ce0f61a2c989c2f8b868)
End Sub
Sub arrayDebug(tableau, Optional no_depart, Optional limite = 500, Optional separateur = "  /  ")
tab7602839136c4b1975a05013a26bf0f = LBound(tableau)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau)
If IsMissing(no_depart) Then no_depart = tab7602839136c4b1975a05013a26bf0f
If no_depart < tab7602839136c4b1975a05013a26bf0f Or no_depart > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro de départ hors du tableau ...", 48, "Erreur"
Exit Sub
End If
If q1566874ec78489593ce052b29dbd7711 - no_depart > limite Then
q1566874ec78489593ce052b29dbd7711 = no_depart + limite - 1
End If
xa9fba8ba98262309771e88ffd09ba804 = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
For m10509d317a03d8e9a09401b6c7d3443f = no_depart To q1566874ec78489593ce052b29dbd7711
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & nb1d7cdfb5d3a97c615baa9931efb339c & "[" & m10509d317a03d8e9a09401b6c7d3443f & "] " & tableau(m10509d317a03d8e9a09401b6c7d3443f)
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
MsgBox xa9fba8ba98262309771e88ffd09ba804
End Sub
Sub array2dDebug(tableau, Optional no_depart, Optional limite = 30, Optional separateur = "  /  ")
tab7602839136c4b1975a05013a26bf0f = LBound(tableau, 1)
q1566874ec78489593ce052b29dbd7711 = UBound(tableau, 1)
zfa3b659b4623b7c99344851973351a1e = LBound(tableau, 2)
tc9530688aeddc0eec72a823a045ece57 = UBound(tableau, 2)
If IsMissing(no_depart) Then no_depart = tab7602839136c4b1975a05013a26bf0f
If no_depart < tab7602839136c4b1975a05013a26bf0f Or no_depart > q1566874ec78489593ce052b29dbd7711 Then
MsgBox "Numéro de départ hors du tableau ...", 48, "Erreur"
Exit Sub
End If
If q1566874ec78489593ce052b29dbd7711 - no_depart > limite Then
q1566874ec78489593ce052b29dbd7711 = no_depart + limite - 1
End If
xa9fba8ba98262309771e88ffd09ba804 = ""
nb1d7cdfb5d3a97c615baa9931efb339c = ""
m623baf3ea6f2658cfcb07bf47d5d645d = ""
For m10509d317a03d8e9a09401b6c7d3443f = no_depart To q1566874ec78489593ce052b29dbd7711
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & m623baf3ea6f2658cfcb07bf47d5d645d
nb1d7cdfb5d3a97c615baa9931efb339c = ""
For r5c35bb7b2f38a0279516dc1f7d812cb0 = zfa3b659b4623b7c99344851973351a1e To tc9530688aeddc0eec72a823a045ece57
xa9fba8ba98262309771e88ffd09ba804 = xa9fba8ba98262309771e88ffd09ba804 & nb1d7cdfb5d3a97c615baa9931efb339c & "[" & m10509d317a03d8e9a09401b6c7d3443f & ", " & r5c35bb7b2f38a0279516dc1f7d812cb0 & "] " & tableau(m10509d317a03d8e9a09401b6c7d3443f, r5c35bb7b2f38a0279516dc1f7d812cb0)
nb1d7cdfb5d3a97c615baa9931efb339c = separateur
Next
m623baf3ea6f2658cfcb07bf47d5d645d = Chr(10)
Next
MsgBox xa9fba8ba98262309771e88ffd09ba804
End Sub
Function isInt(nombre)
isInt = False
If Not IsNumeric(nombre) Then Exit Function
If Int(nombre) = nombre Or Int(nombre) & "" = nombre Then isInt = True
End Function
Function intRand(valeur_min, valeur_max)
Randomize
If Not isInt(valeur_min) Or Not isInt(valeur_max) Then
intRand = "Erreur : les 2 valeurs doivent être des nombres entiers"
ElseIf valeur_max < valeur_min Then
intRand = "Erreur : entrez la valeur minimale en premier argument puis la valeur maximale en second"
Else
r371eeb7681f0fd6f76f3ea47a39ca185 = valeur_max - valeur_min + 1
If r371eeb7681f0fd6f76f3ea47a39ca185 = 1 Then
intRand = valeur_max
Else
intRand = Int(Rnd * r371eeb7681f0fd6f76f3ea47a39ca185) + valeur_min
End If
End If
End Function
Function easterDate(ByVal annee)
If IsDate(annee) Then annee = Year(annee)
If annee < 1900 Or annee > 2200 Then
easterDate = "Erreur : année hors de la plage 1900-2200"
Exit Function
End If
If annee = 1954 Then
easterDate = 19832
ElseIf annee = 1981 Then
easterDate = 29695
ElseIf annee = 2049 Then
easterDate = 54531
ElseIf annee = 2076 Then
easterDate = 64394
ElseIf annee = 2106 Then
easterDate = 75349
ElseIf annee = 2133 Then
easterDate = 85212
Else
easterDate = Round(DateSerial(annee, 4, (234 - 11 * (annee Mod 19)) Mod 30) / 7, 0) * 7 - 6
End If
End Function
Function colLetter(numero)
colLetter = "Erreur : numéro de colonne invalide"
If numero > 0 Then colLetter = Replace(Cells(1, numero).Address(ColumnAbsolute:=False), "$1", "")
End Function
Function colNum(lettre)
colNum = Range(lettre & 1).Column
End Function
Function euDate()
If Day(CDate("2/3/2016")) = 3 Then
euDate = False
Else
euDate = True
End If
End Function
Function nbDaysMonth(date_mois)
nbDaysMonth = "Erreur : date invalide"
If IsDate(date_mois) Then nbDaysMonth = Day(DateSerial(Year(date_mois), Month(date_mois) + 1, 1) - 1)
End Function
Function lastRow(colonne, Optional feuille)
If IsMissing(feuille) Then
If isInt(colonne) Then
lastRow = Cells(Rows.Count, colonne).End(xlUp).Row
Else
lastRow = Range(colonne & Rows.Count).End(xlUp).Row
End If
Else
If isInt(colonne) Then
lastRow = Sheets(feuille).Cells(Rows.Count, colonne).End(xlUp).Row
Else
lastRow = Sheets(feuille).Range(colonne & Rows.Count).End(xlUp).Row
End If
End If
End Function
Function lastCol(ligne, Optional feuille)
If IsMissing(feuille) Then
lastCol = Cells(ligne, Columns.Count).End(xlToLeft).Column
Else
lastCol = Sheets(feuille).Cells(ligne, Columns.Count).End(xlToLeft).Column
End If
End Function
Function lastUsedRow(feuille As Worksheet)
lastUsedRow = feuille.UsedRange.Row + feuille.UsedRange.Rows.Count - 1
End Function
Function lastUsedCol(feuille As Worksheet)
lastUsedCol = feuille.UsedRange.Column + feuille.UsedRange.Columns.Count - 1
End Function
Function isoWeekNum(ByVal date_semaine)
If Not IsDate(date_semaine) Or date_semaine > 999999999 Then date_semaine = CDate(date_semaine)
xc61f35b8cb50d42f1486462a6e77da71 = Array(2921, 7303, 8766, 13148, 17530, 18993, 23375, 27757, 29220, 33602, 37984, 39447, 43829, 48211, 49674, 54056, 58438, 59901, 64283, 68665, 70128, 73417, 74510, 78892, 83274, 84737, 89119, 93501, 94964, 99346, 103728, 105191, 109573)
If inArray(xc61f35b8cb50d42f1486462a6e77da71, Int(date_semaine)) Then
nd8bacef40c9fe87da3a15bf1c5d178a4 = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 52, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
isoWeekNum = nd8bacef40c9fe87da3a15bf1c5d178a4(arrayPos(xc61f35b8cb50d42f1486462a6e77da71, Int(date_semaine)))
Else
isoWeekNum = Int(Format(date_semaine, "ww", vbMonday, 2))
End If
End Function
Function cellsSearch(cellules As Range, recherche, Optional exact = True)
t9fec738b48b8d2b054e722d912f91e21 = ""
xf0d184b2ed503530401798425bd8cb1d = ""
ce8260ecc337c70e2e9bc6eab92626afe = lastUsedRow(cellules.Worksheet)
For Each q1d635f47a1a748ee6cf29ce3507db033 In cellules
If q1d635f47a1a748ee6cf29ce3507db033.Row > ce8260ecc337c70e2e9bc6eab92626afe Then Exit For
If exact Then
If q1d635f47a1a748ee6cf29ce3507db033 = recherche Then
xf0d184b2ed503530401798425bd8cb1d = xf0d184b2ed503530401798425bd8cb1d & t9fec738b48b8d2b054e722d912f91e21 & q1d635f47a1a748ee6cf29ce3507db033.Address(RowAbsolute:=False, ColumnAbsolute:=False)
t9fec738b48b8d2b054e722d912f91e21 = "#XLP#"
End If
Else
If q1d635f47a1a748ee6cf29ce3507db033 Like "*" & recherche & "*" Then
xf0d184b2ed503530401798425bd8cb1d = xf0d184b2ed503530401798425bd8cb1d & t9fec738b48b8d2b054e722d912f91e21 & q1d635f47a1a748ee6cf29ce3507db033.Address(RowAbsolute:=False, ColumnAbsolute:=False)
t9fec738b48b8d2b054e722d912f91e21 = "#XLP#"
End If
End If
Next
cellsSearch = Split(xf0d184b2ed503530401798425bd8cb1d, "#XLP#")
End Function
Function linkOpen(lien)
On Error GoTo erreur
linkOpen = True
ActiveWorkbook.FollowHyperlink (lien)
Exit Function
erreur: linkOpen = False
End Function
Function htmlCodePage(lien, Optional donnees = "")
On Error Resume Next
htmlCodePage = -1
With CreateObject("MSXML2.XMLHTTP")
.Open IIf(donnees = "", "GET", "POST"), lien, False
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.SetRequestHeader "User-Agent", "Mozilla/5.0"
If donnees = "" Then
.Send
Else
.Send donnees
End If
If .ReadyState = 4 And .Status = 200 Then
htmlCodePage = .ResponseText
End If
End With
End Function
Function internet()
internet = IIf(htmlCodePage("https://www.excel-pratique.com/s/information/internet") = "ok", True, False)
End Function
Function colorBox(Optional couleur_initiale, Optional titre)
On Error Resume Next
z821d24946133b7e434edcf2d7fbf25fd = Empty
Load UserForm_ColorBox
If Not IsMissing(couleur_initiale) Then
UserForm_ColorBox.Label_apercu.BackColor = couleur_initiale
UserForm_ColorBox.TextBox_couleur_hexa = "#" & colorToHexa(couleur_initiale)
End If
If Not IsMissing(titre) Then
UserForm_ColorBox.Caption = titre
End If
UserForm_ColorBox.Show
colorBox = z821d24946133b7e434edcf2d7fbf25fd
End Function
Function datePicker(Optional date_initiale, Optional style = 0, Optional bouton_ajd = 0, Optional no_semaine = 0, Optional titre)
On Error Resume Next
w7edc795356cdc3e639b1213526b5fe96 = Empty
v66724ada74e38279591b6dccf452d874 = style
e9f96cb66878c48ff79e44bf52ae10b34 = no_semaine
Load UserForm_DatePicker
If Not IsMissing(date_initiale) Then
If Not IsDate(date_initiale) Or date_initiale < 1 Then date_initiale = Date
If date_initiale <= 60 Then date_initiale = date_initiale + 1
rf16c5a73de3035d6b602cdc40cfa22d9 = CDate(date_initiale)
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
UserForm_DatePicker.b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
UserForm_DatePicker.nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End If
If style = 1 Then
For Each controle_i In UserForm_DatePicker.Controls
controle_i.Top = controle_i.Top - 60
Next
UserForm_DatePicker.Height = UserForm_DatePicker.Height - 61.5
ElseIf style = 2 Then
UserForm_DatePicker.Label_vert_bas.Visible = False
UserForm_DatePicker.Label_valider.Visible = False
UserForm_DatePicker.Label_annuler.Visible = False
UserForm_DatePicker.Label_v2.Visible = False
For Each controle_i In UserForm_DatePicker.Controls
controle_i.Top = controle_i.Top - 118.5
Next
UserForm_DatePicker.Height = UserForm_DatePicker.Height - 115.5
End If
If bouton_ajd = 1 Then
If style = 2 Then
UserForm_DatePicker.CommandButton_valider.Left = 138
UserForm_DatePicker.CommandButton_valider.Width = 63
UserForm_DatePicker.CommandButton_annuler.Left = 72
UserForm_DatePicker.CommandButton_annuler.Width = 63
UserForm_DatePicker.CommandButton_ajd.Visible = True
Else
UserForm_DatePicker.Label_valider.Left = 138
UserForm_DatePicker.Label_valider.Width = 66
UserForm_DatePicker.Label_annuler.Left = 72
UserForm_DatePicker.Label_annuler.Width = 60
UserForm_DatePicker.Label_ajd.Visible = True
End If
End If
If Not IsMissing(titre) Then
UserForm_DatePicker.Caption = titre
End If
UserForm_DatePicker.Show
If w7edc795356cdc3e639b1213526b5fe96 <= 60 And w7edc795356cdc3e639b1213526b5fe96 <> "" Then w7edc795356cdc3e639b1213526b5fe96 = w7edc795356cdc3e639b1213526b5fe96 - 1
datePicker = w7edc795356cdc3e639b1213526b5fe96
End Function
Function isEmail(adresse_email)
isEmail = False
If InStr(1, adresse_email, "..") > 0 Then Exit Function
n13a9aa2266070a179bd28ab37d19feaf = Split(adresse_email, "@")
If UBound(n13a9aa2266070a179bd28ab37d19feaf) <> 1 Then Exit Function
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(0)
If Left(z7c5ff990905d4926e698aa6eb48e7a24, 1) = Chr(34) And Right(z7c5ff990905d4926e698aa6eb48e7a24, 1) = Chr(34) And Len(z7c5ff990905d4926e698aa6eb48e7a24) > 3 Then
Else
For m10509d317a03d8e9a09401b6c7d3443f = 1 To Len(z7c5ff990905d4926e698aa6eb48e7a24)
q2b8c7f41c054959459fe2deedf01a50d = Mid(z7c5ff990905d4926e698aa6eb48e7a24, m10509d317a03d8e9a09401b6c7d3443f, 1)
Select Case q2b8c7f41c054959459fe2deedf01a50d
Case "-", "!", "#", "$", "%", "'", "*", "+", "=", "?", "^", "`", "{", "}", "|", "~", ".", "_"
If m10509d317a03d8e9a09401b6c7d3443f = 1 Or m10509d317a03d8e9a09401b6c7d3443f = Len(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Case "0" To "9", "a" To "z", "A" To "Z"
Case Else
Exit Function
End Select
Next
End If
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(1)
n13a9aa2266070a179bd28ab37d19feaf = Split(z7c5ff990905d4926e698aa6eb48e7a24, ".")
If UBound(n13a9aa2266070a179bd28ab37d19feaf) = 0 Then Exit Function
If Left(z7c5ff990905d4926e698aa6eb48e7a24, 1) = "[" And Right(z7c5ff990905d4926e698aa6eb48e7a24, 1) = "]" And UBound(n13a9aa2266070a179bd28ab37d19feaf) = 3 Then
For r5c35bb7b2f38a0279516dc1f7d812cb0 = 0 To 3
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(r5c35bb7b2f38a0279516dc1f7d812cb0)
z7c5ff990905d4926e698aa6eb48e7a24 = Replace(z7c5ff990905d4926e698aa6eb48e7a24, "[", "")
z7c5ff990905d4926e698aa6eb48e7a24 = Replace(z7c5ff990905d4926e698aa6eb48e7a24, "]", "")
If Len(z7c5ff990905d4926e698aa6eb48e7a24) > 3 Or Not IsNumeric(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Next
isEmail = True
Exit Function
End If
If Len(z7c5ff990905d4926e698aa6eb48e7a24) > 253 Then Exit Function
If UBound(n13a9aa2266070a179bd28ab37d19feaf) > 126 Then Exit Function
For r5c35bb7b2f38a0279516dc1f7d812cb0 = 0 To UBound(n13a9aa2266070a179bd28ab37d19feaf)
z7c5ff990905d4926e698aa6eb48e7a24 = n13a9aa2266070a179bd28ab37d19feaf(r5c35bb7b2f38a0279516dc1f7d812cb0)
If r5c35bb7b2f38a0279516dc1f7d812cb0 = UBound(n13a9aa2266070a179bd28ab37d19feaf) And Len(z7c5ff990905d4926e698aa6eb48e7a24) < 2 Then Exit Function
For m10509d317a03d8e9a09401b6c7d3443f = 1 To Len(z7c5ff990905d4926e698aa6eb48e7a24)
q2b8c7f41c054959459fe2deedf01a50d = Mid(z7c5ff990905d4926e698aa6eb48e7a24, m10509d317a03d8e9a09401b6c7d3443f, 1)
Select Case q2b8c7f41c054959459fe2deedf01a50d
Case "-"
If m10509d317a03d8e9a09401b6c7d3443f = 1 Or m10509d317a03d8e9a09401b6c7d3443f = Len(z7c5ff990905d4926e698aa6eb48e7a24) Then Exit Function
Case 0 To 9, "a" To "z", "A" To "Z"
Case Else
Exit Function
End Select
Next
Next
isEmail = True
End Function
Sub mail(email_destinataire, email_expediteur, sujet, message_html, utilisateur, mot_de_passe, serveur_smtp, Optional serveur_port = 465, Optional nom_expediteur = "", Optional email_destinataire_CC = "", Optional email_destinataire_BCC = "")
email_destinataire = Trim(LCase(email_destinataire))
email_expediteur = Trim(LCase(email_expediteur))
email_destinataire_CC = Trim(LCase(email_destinataire_CC))
email_destinataire_BCC = Trim(LCase(email_destinataire_BCC))
If utilisateur = "" Then
MsgBox "Utilisateur manquant.", 48, "Erreur"
Exit Sub
End If
If mot_de_passe = "" Then
MsgBox "Mot de passe manquant.", 48, "Erreur"
Exit Sub
End If
If Not isEmail(email_destinataire) Then
MsgBox "Adresse email du destinataire invalide : " & vbNewLine & vbNewLine & email_destinataire, 48, "Erreur"
Exit Sub
ElseIf Not isEmail(email_expediteur) Then
MsgBox "Adresse email de l'expéditeur invalide : " & vbNewLine & vbNewLine & email_expediteur, 48, "Erreur"
Exit Sub
End If
If email_destinataire_CC <> "" Then
If Not isEmail(email_destinataire_CC) Then
MsgBox "Adresse email du destinataire CC invalide : " & vbNewLine & vbNewLine & email_destinataire_CC, 48, "Erreur"
Exit Sub
End If
End If
If email_destinataire_BCC <> "" Then
If Not isEmail(email_destinataire_BCC) Then
MsgBox "Adresse email du destinataire BCC invalide : " & vbNewLine & vbNewLine & email_destinataire_BCC, 48, "Erreur"
Exit Sub
End If
End If
If nom_expediteur = "" Then
email_from = email_expediteur
Else
email_from = """" & nom_expediteur & """ <" & email_expediteur & ">"
End If
Set r4b79447cf8117bbf66fcd05def7da711 = CreateObject("CDO.Message")
Set nd962792c3fc4808eed0fc068cec6244b = CreateObject("CDO.Configuration")
With nd962792c3fc4808eed0fc068cec6244b
.Load -1
End With
Set z847d6f9b5748a966d0ccc693bc342b73 = nd962792c3fc4808eed0fc068cec6244b.Fields
With z847d6f9b5748a966d0ccc693bc342b73
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = serveur_smtp
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = serveur_port
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = utilisateur
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mot_de_passe
.Update
End With
With r4b79447cf8117bbf66fcd05def7da711
Set .Configuration = nd962792c3fc4808eed0fc068cec6244b
.To = email_destinataire
.Cc = email_destinataire_CC
.Bcc = email_destinataire_BCC
.From = email_from
.Subject = sujet
.TextBody = ""
.HTMLBody = "<html><body>" & message_html & "</body></html>"
.Send
End With
Set r4b79447cf8117bbf66fcd05def7da711 = Nothing
Set nd962792c3fc4808eed0fc068cec6244b = Nothing
Set z847d6f9b5748a966d0ccc693bc342b73 = Nothing
End Sub
Function regexMatch(texte, expression_reguliere)
If expression_reguliere = "" Then
regexMatch = ""
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
regexMatch = nd3757af900e8b70f7039d4958cbfd4c9.test(texte)
End Function
Function regexReplace(texte, expression_reguliere, remplacement)
If expression_reguliere = "" Then
regexReplace = ""
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
regexReplace = nd3757af900e8b70f7039d4958cbfd4c9.Replace(texte, remplacement)
End Function
Function regexExtract(texte, expression_reguliere, Optional separateur)
regexExtract = ""
If expression_reguliere = "" Then
Exit Function
End If
Dim nd3757af900e8b70f7039d4958cbfd4c9 As Object, m710c20329dabaddc497644408d16fdcc As Object
Set nd3757af900e8b70f7039d4958cbfd4c9 = CreateObject("vbscript.regExp")
xd89f88bb411ea7b2a73ab88a38f05798 = False
If Left(expression_reguliere, 4) = "(?i)" Then
expression_reguliere = Mid(expression_reguliere, 5)
xd89f88bb411ea7b2a73ab88a38f05798 = True
ElseIf Left(expression_reguliere, 5) = "^(?i)" Then
expression_reguliere = "^" & Mid(expression_reguliere, 6)
xd89f88bb411ea7b2a73ab88a38f05798 = True
End If
With nd3757af900e8b70f7039d4958cbfd4c9
.Global = True
.MultiLine = True
.IgnoreCase = xd89f88bb411ea7b2a73ab88a38f05798
.Pattern = expression_reguliere
End With
If nd3757af900e8b70f7039d4958cbfd4c9.test(texte) Then
Set m710c20329dabaddc497644408d16fdcc = nd3757af900e8b70f7039d4958cbfd4c9.Execute(texte)
c2f9dbfcef4e6f1dfd446fa2d3db8d4c7 = m710c20329dabaddc497644408d16fdcc.Count
r2cabcd7ac03ce4c5875dec64fb50e2ad = 0
For m10509d317a03d8e9a09401b6c7d3443f = 0 To c2f9dbfcef4e6f1dfd446fa2d3db8d4c7 - 1
r2cabcd7ac03ce4c5875dec64fb50e2ad = r2cabcd7ac03ce4c5875dec64fb50e2ad + m710c20329dabaddc497644408d16fdcc.Item(m10509d317a03d8e9a09401b6c7d3443f).submatches.Count
Next
If r2cabcd7ac03ce4c5875dec64fb50e2ad = 0 Then
regexExtract = m710c20329dabaddc497644408d16fdcc.Item(0)
Else
zcd9500946692464ec951aaa442358ff1 = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Count
If IsMissing(separateur) Then
Dim n615375fee3ed95adc44df3c43f2fc5fc()
ReDim n615375fee3ed95adc44df3c43f2fc5fc(zcd9500946692464ec951aaa442358ff1 - 1)
For m10509d317a03d8e9a09401b6c7d3443f = 0 To zcd9500946692464ec951aaa442358ff1 - 1
n615375fee3ed95adc44df3c43f2fc5fc(m10509d317a03d8e9a09401b6c7d3443f) = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Item(m10509d317a03d8e9a09401b6c7d3443f)
Next
regexExtract = n615375fee3ed95adc44df3c43f2fc5fc
Else
For m10509d317a03d8e9a09401b6c7d3443f = 0 To zcd9500946692464ec951aaa442358ff1 - 1
tad8fcb85b98d0d894d693f3df1a90e52 = m710c20329dabaddc497644408d16fdcc.Item(0).submatches.Item(m10509d317a03d8e9a09401b6c7d3443f)
regexExtract = regexExtract & IIf(m10509d317a03d8e9a09401b6c7d3443f > 0 And tad8fcb85b98d0d894d693f3df1a90e52 <> "", separateur, "") & tad8fcb85b98d0d894d693f3df1a90e52
Next
End If
End If
End If
End Function
Function isUrl(texte)
isUrl = regexMatch(texte, "^(https?://(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?://(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$")
End Function

                                    

Original


                                        Attribute VB_Name = "UserForm_ColorBox"
Attribute VB_Base = "0{C357F29C-66E3-4BC8-BCF1-92AF46D44E0C}{B66E1FC4-C3DB-4AC6-9147-0A9F7389F438}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Dim b9b1451b9c155c3ac2d0981522559fb48, be2fad41da9dcd4f88816a8cc1105fb26
Private Sub CommandButton_valider_Click()
If TextBox_couleur_hexa = "" And Label_apercu.BackColor = &H8000000F Then
mccc8da3f750f454510a3029cf444e65d = MsgBox("Veuillez sélectionner une couleur avant de cliquer sur Valider.", 64, "Aucune couleur choisie")
Exit Sub
End If
z821d24946133b7e434edcf2d7fbf25fd = Label_apercu.BackColor
Unload Me
End Sub
Private Sub Image_couleurs_Click()
If IsEmpty(b9b1451b9c155c3ac2d0981522559fb48) Or IsEmpty(be2fad41da9dcd4f88816a8cc1105fb26) Then Exit Sub
m9fa4273af6a127b7e28cd9c6368d72ea = Int((b9b1451b9c155c3ac2d0981522559fb48 - 1.5) / 17.25) + 1
If m9fa4273af6a127b7e28cd9c6368d72ea < 1 Then m9fa4273af6a127b7e28cd9c6368d72ea = 1
If m9fa4273af6a127b7e28cd9c6368d72ea > 16 Then m9fa4273af6a127b7e28cd9c6368d72ea = 16
e92363e69a54b8bb1284a635521834ada = Int((be2fad41da9dcd4f88816a8cc1105fb26 - 1.5) / 17.25) + 1
If e92363e69a54b8bb1284a635521834ada < 1 Then e92363e69a54b8bb1284a635521834ada = 1
If e92363e69a54b8bb1284a635521834ada > 10 Then e92363e69a54b8bb1284a635521834ada = 10
Dim e65642065326e56d1db0aab866b93cc1f(10, 16)
e65642065326e56d1db0aab866b93cc1f(1, 1) = RGB(216, 239, 253)
e65642065326e56d1db0aab866b93cc1f(2, 1) = RGB(177, 227, 250)
e65642065326e56d1db0aab866b93cc1f(3, 1) = RGB(128, 209, 254)
e65642065326e56d1db0aab866b93cc1f(4, 1) = RGB(75, 191, 252)
e65642065326e56d1db0aab866b93cc1f(5, 1) = RGB(32, 175, 251)
e65642065326e56d1db0aab866b93cc1f(6, 1) = RGB(11, 148, 218)
e65642065326e56d1db0aab866b93cc1f(7, 1) = RGB(17, 126, 182)
e65642065326e56d1db0aab866b93cc1f(8, 1) = RGB(6, 94, 140)
e65642065326e56d1db0aab866b93cc1f(9, 1) = RGB(5, 66, 95)
e65642065326e56d1db0aab866b93cc1f(10, 1) = RGB(1, 32, 50)
e65642065326e56d1db0aab866b93cc1f(1, 2) = RGB(215, 230, 253)
e65642065326e56d1db0aab866b93cc1f(2, 2) = RGB(181, 208, 253)
e65642065326e56d1db0aab866b93cc1f(3, 2) = RGB(141, 179, 250)
e65642065326e56d1db0aab866b93cc1f(4, 2) = RGB(97, 152, 253)
e65642065326e56d1db0aab866b93cc1f(5, 2) = RGB(63, 129, 251)
e65642065326e56d1db0aab866b93cc1f(6, 2) = RGB(11, 94, 252)
e65642065326e56d1db0aab866b93cc1f(7, 2) = RGB(17, 82, 210)
e65642065326e56d1db0aab866b93cc1f(8, 2) = RGB(4, 57, 159)
e65642065326e56d1db0aab866b93cc1f(9, 2) = RGB(5, 39, 110)
e65642065326e56d1db0aab866b93cc1f(10, 2) = RGB(2, 16, 51)
e65642065326e56d1db0aab866b93cc1f(1, 3) = RGB(220, 219, 253)
e65642065326e56d1db0aab866b93cc1f(2, 3) = RGB(190, 188, 251)
e65642065326e56d1db0aab866b93cc1f(3, 3) = RGB(153, 151, 250)
e65642065326e56d1db0aab866b93cc1f(4, 3) = RGB(112, 107, 251)
e65642065326e56d1db0aab866b93cc1f(5, 3) = RGB(80, 73, 247)
e65642065326e56d1db0aab866b93cc1f(6, 3) = RGB(27, 22, 249)
e65642065326e56d1db0aab866b93cc1f(7, 3) = RGB(25, 22, 213)
e65642065326e56d1db0aab866b93cc1f(8, 3) = RGB(14, 11, 162)
e65642065326e56d1db0aab866b93cc1f(9, 3) = RGB(9, 7, 116)
e65642065326e56d1db0aab866b93cc1f(10, 3) = RGB(0, 0, 62)
e65642065326e56d1db0aab866b93cc1f(1, 4) = RGB(233, 215, 253)
e65642065326e56d1db0aab866b93cc1f(2, 4) = RGB(219, 181, 254)
e65642065326e56d1db0aab866b93cc1f(3, 4) = RGB(196, 142, 253)
e65642065326e56d1db0aab866b93cc1f(4, 4) = RGB(173, 98, 253)
e65642065326e56d1db0aab866b93cc1f(5, 4) = RGB(157, 65, 250)
e65642065326e56d1db0aab866b93cc1f(6, 4) = RGB(130, 12, 254)
e65642065326e56d1db0aab866b93cc1f(7, 4) = RGB(111, 16, 208)
e65642065326e56d1db0aab866b93cc1f(8, 4) = RGB(80, 5, 158)
e65642065326e56d1db0aab866b93cc1f(9, 4) = RGB(56, 5, 106)
e65642065326e56d1db0aab866b93cc1f(10, 4) = RGB(24, 0, 50)
e65642065326e56d1db0aab866b93cc1f(1, 5) = RGB(254, 219, 251)
e65642065326e56d1db0aab866b93cc1f(2, 5) = RGB(253, 182, 252)
e65642065326e56d1db0aab866b93cc1f(3, 5) = RGB(253, 134, 250)
e65642065326e56d1db0aab866b93cc1f(4, 5) = RGB(252, 85, 251)
e65642065326e56d1db0aab866b93cc1f(5, 5) = RGB(249, 39, 248)
e65642065326e56d1db0aab866b93cc1f(6, 5) = RGB(218, 22, 218)
e65642065326e56d1db0aab866b93cc1f(7, 5) = RGB(180, 26, 182)
e65642065326e56d1db0aab866b93cc1f(8, 5) = RGB(139, 13, 138)
e65642065326e56d1db0aab866b93cc1f(9, 5) = RGB(98, 10, 97)
e65642065326e56d1db0aab866b93cc1f(10, 5) = RGB(49, 1, 53)
e65642065326e56d1db0aab866b93cc1f(1, 6) = RGB(254, 215, 233)
e65642065326e56d1db0aab866b93cc1f(2, 6) = RGB(254, 183, 217)
e65642065326e56d1db0aab866b93cc1f(3, 6) = RGB(252, 144, 196)
e65642065326e56d1db0aab866b93cc1f(4, 6) = RGB(254, 98, 172)
e65642065326e56d1db0aab866b93cc1f(5, 6) = RGB(251, 64, 155)
e65642065326e56d1db0aab866b93cc1f(6, 6) = RGB(254, 13, 130)
e65642065326e56d1db0aab866b93cc1f(7, 6) = RGB(211, 16, 112)
e65642065326e56d1db0aab866b93cc1f(8, 6) = RGB(159, 5, 77)
e65642065326e56d1db0aab866b93cc1f(9, 6) = RGB(107, 3, 54)
e65642065326e56d1db0aab866b93cc1f(10, 6) = RGB(50, 0, 25)
e65642065326e56d1db0aab866b93cc1f(1, 7) = RGB(253, 219, 220)
e65642065326e56d1db0aab866b93cc1f(2, 7) = RGB(251, 189, 190)
e65642065326e56d1db0aab866b93cc1f(3, 7) = RGB(250, 149, 153)
e65642065326e56d1db0aab866b93cc1f(4, 7) = RGB(251, 108, 112)
e65642065326e56d1db0aab866b93cc1f(5, 7) = RGB(248, 73, 80)
e65642065326e56d1db0aab866b93cc1f(6, 7) = RGB(251, 22, 25)
e65642065326e56d1db0aab866b93cc1f(7, 7) = RGB(213, 22, 27)
e65642065326e56d1db0aab866b93cc1f(8, 7) = RGB(163, 13, 14)
e65642065326e56d1db0aab866b93cc1f(9, 7) = RGB(118, 8, 9)
e65642065326e56d1db0aab866b93cc1f(10, 7) = RGB(62, 1, 0)
e65642065326e56d1db0aab866b93cc1f(1, 8) = RGB(254, 227, 216)
e65642065326e56d1db0aab866b93cc1f(2, 8) = RGB(253, 202, 183)
e65642065326e56d1db0aab866b93cc1f(3, 8) = RGB(251, 174, 144)
e65642065326e56d1db0aab866b93cc1f(4, 8) = RGB(253, 141, 101)
e65642065326e56d1db0aab866b93cc1f(5, 8) = RGB(251, 115, 65)
e65642065326e56d1db0aab866b93cc1f(6, 8) = RGB(254, 76, 12)
e65642065326e56d1db0aab866b93cc1f(7, 8) = RGB(219, 68, 15)
e65642065326e56d1db0aab866b93cc1f(8, 8) = RGB(171, 48, 6)
e65642065326e56d1db0aab866b93cc1f(9, 8) = RGB(124, 35, 5)
e65642065326e56d1db0aab866b93cc1f(10, 8) = RGB(75, 18, 0)
e65642065326e56d1db0aab866b93cc1f(1, 9) = RGB(253, 234, 217)
e65642065326e56d1db0aab866b93cc1f(2, 9) = RGB(254, 218, 184)
e65642065326e56d1db0aab866b93cc1f(3, 9) = RGB(253, 198, 144)
e65642065326e56d1db0aab866b93cc1f(4, 9) = RGB(254, 174, 103)
e65642065326e56d1db0aab866b93cc1f(5, 9) = RGB(253, 158, 66)
e65642065326e56d1db0aab866b93cc1f(6, 9) = RGB(254, 130, 14)
e65642065326e56d1db0aab866b93cc1f(7, 9) = RGB(214, 114, 16)
e65642065326e56d1db0aab866b93cc1f(8, 9) = RGB(164, 85, 8)
e65642065326e56d1db0aab866b93cc1f(9, 9) = RGB(119, 59, 5)
e65642065326e56d1db0aab866b93cc1f(10, 9) = RGB(64, 31, 0)
e65642065326e56d1db0aab866b93cc1f(1, 10) = RGB(253, 248, 219)
e65642065326e56d1db0aab866b93cc1f(2, 10) = RGB(252, 238, 189)
e65642065326e56d1db0aab866b93cc1f(3, 10) = RGB(253, 230, 154)
e65642065326e56d1db0aab866b93cc1f(4, 10) = RGB(255, 219, 105)
e65642065326e56d1db0aab866b93cc1f(5, 10) = RGB(252, 212, 78)
e65642065326e56d1db0aab866b93cc1f(6, 10) = RGB(254, 198, 25)
e65642065326e56d1db0aab866b93cc1f(7, 10) = RGB(211, 166, 25)
e65642065326e56d1db0aab866b93cc1f(8, 10) = RGB(159, 121, 10)
e65642065326e56d1db0aab866b93cc1f(9, 10) = RGB(112, 84, 11)
e65642065326e56d1db0aab866b93cc1f(10, 10) = RGB(52, 38, 1)
e65642065326e56d1db0aab866b93cc1f(1, 11) = RGB(255, 253, 214)
e65642065326e56d1db0aab866b93cc1f(2, 11) = RGB(254, 253, 161)
e65642065326e56d1db0aab866b93cc1f(3, 11) = RGB(254, 252, 92)
e65642065326e56d1db0aab866b93cc1f(4, 11) = RGB(238, 237, 51)
e65642065326e56d1db0aab866b93cc1f(5, 11) = RGB(222, 219, 26)
e65642065326e56d1db0aab866b93cc1f(6, 11) = RGB(190, 188, 7)
e65642065326e56d1db0aab866b93cc1f(7, 11) = RGB(160, 159, 15)
e65642065326e56d1db0aab866b93cc1f(8, 11) = RGB(124, 121, 4)
e65642065326e56d1db0aab866b93cc1f(9, 11) = RGB(89, 88, 5)
e65642065326e56d1db0aab866b93cc1f(10, 11) = RGB(50, 49, 1)
e65642065326e56d1db0aab866b93cc1f(1, 12) = RGB(237, 254, 218)
e65642065326e56d1db0aab866b93cc1f(2, 12) = RGB(218, 254, 180)
e65642065326e56d1db0aab866b93cc1f(3, 12) = RGB(195, 253, 133)
e65642065326e56d1db0aab866b93cc1f(4, 12) = RGB(171, 254, 84)
e65642065326e56d1db0aab866b93cc1f(5, 12) = RGB(148, 252, 41)
e65642065326e56d1db0aab866b93cc1f(6, 12) = RGB(123, 221, 22)
e65642065326e56d1db0aab866b93cc1f(7, 12) = RGB(106, 186, 25)
e65642065326e56d1db0aab866b93cc1f(8, 12) = RGB(77, 147, 14)
e65642065326e56d1db0aab866b93cc1f(9, 12) = RGB(57, 107, 8)
e65642065326e56d1db0aab866b93cc1f(10, 12) = RGB(30, 62, 0)
e65642065326e56d1db0aab866b93cc1f(1, 13) = RGB(216, 254, 217)
e65642065326e56d1db0aab866b93cc1f(2, 13) = RGB(176, 254, 178)
e65642065326e56d1db0aab866b93cc1f(3, 13) = RGB(124, 252, 129)
e65642065326e56d1db0aab866b93cc1f(4, 13) = RGB(72, 253, 76)
e65642065326e56d1db0aab866b93cc1f(5, 13) = RGB(28, 254, 32)
e65642065326e56d1db0aab866b93cc1f(6, 13) = RGB(7, 221, 11)
e65642065326e56d1db0aab866b93cc1f(7, 13) = RGB(19, 179, 19)
e65642065326e56d1db0aab866b93cc1f(8, 13) = RGB(5, 136, 6)
e65642065326e56d1db0aab866b93cc1f(9, 13) = RGB(5, 95, 5)
e65642065326e56d1db0aab866b93cc1f(10, 13) = RGB(1, 51, 0)
e65642065326e56d1db0aab866b93cc1f(1, 14) = RGB(219, 253, 236)
e65642065326e56d1db0aab866b93cc1f(2, 14) = RGB(182, 254, 216)
e65642065326e56d1db0aab866b93cc1f(3, 14) = RGB(134, 252, 191)
e65642065326e56d1db0aab866b93cc1f(4, 14) = RGB(84, 252, 164)
e65642065326e56d1db0aab866b93cc1f(5, 14) = RGB(38, 255, 142)
e65642065326e56d1db0aab866b93cc1f(6, 14) = RGB(18, 219, 115)
e65642065326e56d1db0aab866b93cc1f(7, 14) = RGB(23, 179, 98)
e65642065326e56d1db0aab866b93cc1f(8, 14) = RGB(12, 132, 71)
e65642065326e56d1db0aab866b93cc1f(9, 14) = RGB(8, 89, 48)
e65642065326e56d1db0aab866b93cc1f(10, 14) = RGB(0, 37, 19)
e65642065326e56d1db0aab866b93cc1f(1, 15) = RGB(215, 255, 247)
e65642065326e56d1db0aab866b93cc1f(2, 15) = RGB(165, 253, 237)
e65642065326e56d1db0aab866b93cc1f(3, 15) = RGB(99, 251, 226)
e65642065326e56d1db0aab866b93cc1f(4, 15) = RGB(27, 251, 215)
e65642065326e56d1db0aab866b93cc1f(5, 15) = RGB(30, 219, 189)
e65642065326e56d1db0aab866b93cc1f(6, 15) = RGB(13, 185, 159)
e65642065326e56d1db0aab866b93cc1f(7, 15) = RGB(19, 158, 135)
e65642065326e56d1db0aab866b93cc1f(8, 15) = RGB(4, 121, 102)
e65642065326e56d1db0aab866b93cc1f(9, 15) = RGB(3, 90, 74)
e65642065326e56d1db0aab866b93cc1f(10, 15) = RGB(0, 50, 41)
e65642065326e56d1db0aab866b93cc1f(1, 16) = RGB(255, 255, 255)
e65642065326e56d1db0aab866b93cc1f(2, 16) = RGB(237, 237, 237)
e65642065326e56d1db0aab866b93cc1f(3, 16) = RGB(211, 211, 211)
e65642065326e56d1db0aab866b93cc1f(4, 16) = RGB(180, 180, 180)
e65642065326e56d1db0aab866b93cc1f(5, 16) = RGB(153, 153, 153)
e65642065326e56d1db0aab866b93cc1f(6, 16) = RGB(120, 120, 120)
e65642065326e56d1db0aab866b93cc1f(7, 16) = RGB(98, 98, 98)
e65642065326e56d1db0aab866b93cc1f(8, 16) = RGB(63, 63, 63)
e65642065326e56d1db0aab866b93cc1f(9, 16) = RGB(35, 35, 35)
e65642065326e56d1db0aab866b93cc1f(10, 16) = RGB(0, 0, 0)
Label_apercu.BackColor = e65642065326e56d1db0aab866b93cc1f(e92363e69a54b8bb1284a635521834ada, m9fa4273af6a127b7e28cd9c6368d72ea)
TextBox_couleur_hexa = "#" & colorToHexa(e65642065326e56d1db0aab866b93cc1f(e92363e69a54b8bb1284a635521834ada, m9fa4273af6a127b7e28cd9c6368d72ea))
End Sub
Private Sub Image_couleurs_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
b9b1451b9c155c3ac2d0981522559fb48 = X
be2fad41da9dcd4f88816a8cc1105fb26 = Y
End Sub
Private Sub TextBox_couleur_hexa_Change()
b7f73e71dd60df5c644a85eb3ebf6969c = hexaToColor(TextBox_couleur_hexa)
If b7f73e71dd60df5c644a85eb3ebf6969c <> -1 Then Label_apercu.BackColor = b7f73e71dd60df5c644a85eb3ebf6969c
End Sub
Private Sub UserForm_Initialize()
Me.BackColor = &H8000000F
z821d24946133b7e434edcf2d7fbf25fd = -1
End Sub
Private Sub CommandButton_annuler_Click()
Unload Me
End Sub

                                    

Deobfuscated


                                        Attribute VB_Name = "UserForm_ColorBox"
Attribute VB_Base = "0{C357F29C-66E3-4BC8-BCF1-92AF46D44E0C}{B66E1FC4-C3DB-4AC6-9147-0A9F7389F438}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Dim b9b1451b9c155c3ac2d0981522559fb48, be2fad41da9dcd4f88816a8cc1105fb26
Private Sub CommandButton_valider_Click()
If TextBox_couleur_hexa = "" And Label_apercu.BackColor = &H8000000F Then
mccc8da3f750f454510a3029cf444e65d = MsgBox("Veuillez sélectionner une couleur avant de cliquer sur Valider.", 64, "Aucune couleur choisie")
Exit Sub
End If
z821d24946133b7e434edcf2d7fbf25fd = Label_apercu.BackColor
Unload Me
End Sub
Private Sub Image_couleurs_Click()
If IsEmpty(b9b1451b9c155c3ac2d0981522559fb48) Or IsEmpty(be2fad41da9dcd4f88816a8cc1105fb26) Then Exit Sub
m9fa4273af6a127b7e28cd9c6368d72ea = Int((b9b1451b9c155c3ac2d0981522559fb48 - 1.5) / 17.25) + 1
If m9fa4273af6a127b7e28cd9c6368d72ea < 1 Then m9fa4273af6a127b7e28cd9c6368d72ea = 1
If m9fa4273af6a127b7e28cd9c6368d72ea > 16 Then m9fa4273af6a127b7e28cd9c6368d72ea = 16
e92363e69a54b8bb1284a635521834ada = Int((be2fad41da9dcd4f88816a8cc1105fb26 - 1.5) / 17.25) + 1
If e92363e69a54b8bb1284a635521834ada < 1 Then e92363e69a54b8bb1284a635521834ada = 1
If e92363e69a54b8bb1284a635521834ada > 10 Then e92363e69a54b8bb1284a635521834ada = 10
Dim e65642065326e56d1db0aab866b93cc1f(10, 16)
e65642065326e56d1db0aab866b93cc1f(1, 1) = RGB(216, 239, 253)
e65642065326e56d1db0aab866b93cc1f(2, 1) = RGB(177, 227, 250)
e65642065326e56d1db0aab866b93cc1f(3, 1) = RGB(128, 209, 254)
e65642065326e56d1db0aab866b93cc1f(4, 1) = RGB(75, 191, 252)
e65642065326e56d1db0aab866b93cc1f(5, 1) = RGB(32, 175, 251)
e65642065326e56d1db0aab866b93cc1f(6, 1) = RGB(11, 148, 218)
e65642065326e56d1db0aab866b93cc1f(7, 1) = RGB(17, 126, 182)
e65642065326e56d1db0aab866b93cc1f(8, 1) = RGB(6, 94, 140)
e65642065326e56d1db0aab866b93cc1f(9, 1) = RGB(5, 66, 95)
e65642065326e56d1db0aab866b93cc1f(10, 1) = RGB(1, 32, 50)
e65642065326e56d1db0aab866b93cc1f(1, 2) = RGB(215, 230, 253)
e65642065326e56d1db0aab866b93cc1f(2, 2) = RGB(181, 208, 253)
e65642065326e56d1db0aab866b93cc1f(3, 2) = RGB(141, 179, 250)
e65642065326e56d1db0aab866b93cc1f(4, 2) = RGB(97, 152, 253)
e65642065326e56d1db0aab866b93cc1f(5, 2) = RGB(63, 129, 251)
e65642065326e56d1db0aab866b93cc1f(6, 2) = RGB(11, 94, 252)
e65642065326e56d1db0aab866b93cc1f(7, 2) = RGB(17, 82, 210)
e65642065326e56d1db0aab866b93cc1f(8, 2) = RGB(4, 57, 159)
e65642065326e56d1db0aab866b93cc1f(9, 2) = RGB(5, 39, 110)
e65642065326e56d1db0aab866b93cc1f(10, 2) = RGB(2, 16, 51)
e65642065326e56d1db0aab866b93cc1f(1, 3) = RGB(220, 219, 253)
e65642065326e56d1db0aab866b93cc1f(2, 3) = RGB(190, 188, 251)
e65642065326e56d1db0aab866b93cc1f(3, 3) = RGB(153, 151, 250)
e65642065326e56d1db0aab866b93cc1f(4, 3) = RGB(112, 107, 251)
e65642065326e56d1db0aab866b93cc1f(5, 3) = RGB(80, 73, 247)
e65642065326e56d1db0aab866b93cc1f(6, 3) = RGB(27, 22, 249)
e65642065326e56d1db0aab866b93cc1f(7, 3) = RGB(25, 22, 213)
e65642065326e56d1db0aab866b93cc1f(8, 3) = RGB(14, 11, 162)
e65642065326e56d1db0aab866b93cc1f(9, 3) = RGB(9, 7, 116)
e65642065326e56d1db0aab866b93cc1f(10, 3) = RGB(0, 0, 62)
e65642065326e56d1db0aab866b93cc1f(1, 4) = RGB(233, 215, 253)
e65642065326e56d1db0aab866b93cc1f(2, 4) = RGB(219, 181, 254)
e65642065326e56d1db0aab866b93cc1f(3, 4) = RGB(196, 142, 253)
e65642065326e56d1db0aab866b93cc1f(4, 4) = RGB(173, 98, 253)
e65642065326e56d1db0aab866b93cc1f(5, 4) = RGB(157, 65, 250)
e65642065326e56d1db0aab866b93cc1f(6, 4) = RGB(130, 12, 254)
e65642065326e56d1db0aab866b93cc1f(7, 4) = RGB(111, 16, 208)
e65642065326e56d1db0aab866b93cc1f(8, 4) = RGB(80, 5, 158)
e65642065326e56d1db0aab866b93cc1f(9, 4) = RGB(56, 5, 106)
e65642065326e56d1db0aab866b93cc1f(10, 4) = RGB(24, 0, 50)
e65642065326e56d1db0aab866b93cc1f(1, 5) = RGB(254, 219, 251)
e65642065326e56d1db0aab866b93cc1f(2, 5) = RGB(253, 182, 252)
e65642065326e56d1db0aab866b93cc1f(3, 5) = RGB(253, 134, 250)
e65642065326e56d1db0aab866b93cc1f(4, 5) = RGB(252, 85, 251)
e65642065326e56d1db0aab866b93cc1f(5, 5) = RGB(249, 39, 248)
e65642065326e56d1db0aab866b93cc1f(6, 5) = RGB(218, 22, 218)
e65642065326e56d1db0aab866b93cc1f(7, 5) = RGB(180, 26, 182)
e65642065326e56d1db0aab866b93cc1f(8, 5) = RGB(139, 13, 138)
e65642065326e56d1db0aab866b93cc1f(9, 5) = RGB(98, 10, 97)
e65642065326e56d1db0aab866b93cc1f(10, 5) = RGB(49, 1, 53)
e65642065326e56d1db0aab866b93cc1f(1, 6) = RGB(254, 215, 233)
e65642065326e56d1db0aab866b93cc1f(2, 6) = RGB(254, 183, 217)
e65642065326e56d1db0aab866b93cc1f(3, 6) = RGB(252, 144, 196)
e65642065326e56d1db0aab866b93cc1f(4, 6) = RGB(254, 98, 172)
e65642065326e56d1db0aab866b93cc1f(5, 6) = RGB(251, 64, 155)
e65642065326e56d1db0aab866b93cc1f(6, 6) = RGB(254, 13, 130)
e65642065326e56d1db0aab866b93cc1f(7, 6) = RGB(211, 16, 112)
e65642065326e56d1db0aab866b93cc1f(8, 6) = RGB(159, 5, 77)
e65642065326e56d1db0aab866b93cc1f(9, 6) = RGB(107, 3, 54)
e65642065326e56d1db0aab866b93cc1f(10, 6) = RGB(50, 0, 25)
e65642065326e56d1db0aab866b93cc1f(1, 7) = RGB(253, 219, 220)
e65642065326e56d1db0aab866b93cc1f(2, 7) = RGB(251, 189, 190)
e65642065326e56d1db0aab866b93cc1f(3, 7) = RGB(250, 149, 153)
e65642065326e56d1db0aab866b93cc1f(4, 7) = RGB(251, 108, 112)
e65642065326e56d1db0aab866b93cc1f(5, 7) = RGB(248, 73, 80)
e65642065326e56d1db0aab866b93cc1f(6, 7) = RGB(251, 22, 25)
e65642065326e56d1db0aab866b93cc1f(7, 7) = RGB(213, 22, 27)
e65642065326e56d1db0aab866b93cc1f(8, 7) = RGB(163, 13, 14)
e65642065326e56d1db0aab866b93cc1f(9, 7) = RGB(118, 8, 9)
e65642065326e56d1db0aab866b93cc1f(10, 7) = RGB(62, 1, 0)
e65642065326e56d1db0aab866b93cc1f(1, 8) = RGB(254, 227, 216)
e65642065326e56d1db0aab866b93cc1f(2, 8) = RGB(253, 202, 183)
e65642065326e56d1db0aab866b93cc1f(3, 8) = RGB(251, 174, 144)
e65642065326e56d1db0aab866b93cc1f(4, 8) = RGB(253, 141, 101)
e65642065326e56d1db0aab866b93cc1f(5, 8) = RGB(251, 115, 65)
e65642065326e56d1db0aab866b93cc1f(6, 8) = RGB(254, 76, 12)
e65642065326e56d1db0aab866b93cc1f(7, 8) = RGB(219, 68, 15)
e65642065326e56d1db0aab866b93cc1f(8, 8) = RGB(171, 48, 6)
e65642065326e56d1db0aab866b93cc1f(9, 8) = RGB(124, 35, 5)
e65642065326e56d1db0aab866b93cc1f(10, 8) = RGB(75, 18, 0)
e65642065326e56d1db0aab866b93cc1f(1, 9) = RGB(253, 234, 217)
e65642065326e56d1db0aab866b93cc1f(2, 9) = RGB(254, 218, 184)
e65642065326e56d1db0aab866b93cc1f(3, 9) = RGB(253, 198, 144)
e65642065326e56d1db0aab866b93cc1f(4, 9) = RGB(254, 174, 103)
e65642065326e56d1db0aab866b93cc1f(5, 9) = RGB(253, 158, 66)
e65642065326e56d1db0aab866b93cc1f(6, 9) = RGB(254, 130, 14)
e65642065326e56d1db0aab866b93cc1f(7, 9) = RGB(214, 114, 16)
e65642065326e56d1db0aab866b93cc1f(8, 9) = RGB(164, 85, 8)
e65642065326e56d1db0aab866b93cc1f(9, 9) = RGB(119, 59, 5)
e65642065326e56d1db0aab866b93cc1f(10, 9) = RGB(64, 31, 0)
e65642065326e56d1db0aab866b93cc1f(1, 10) = RGB(253, 248, 219)
e65642065326e56d1db0aab866b93cc1f(2, 10) = RGB(252, 238, 189)
e65642065326e56d1db0aab866b93cc1f(3, 10) = RGB(253, 230, 154)
e65642065326e56d1db0aab866b93cc1f(4, 10) = RGB(255, 219, 105)
e65642065326e56d1db0aab866b93cc1f(5, 10) = RGB(252, 212, 78)
e65642065326e56d1db0aab866b93cc1f(6, 10) = RGB(254, 198, 25)
e65642065326e56d1db0aab866b93cc1f(7, 10) = RGB(211, 166, 25)
e65642065326e56d1db0aab866b93cc1f(8, 10) = RGB(159, 121, 10)
e65642065326e56d1db0aab866b93cc1f(9, 10) = RGB(112, 84, 11)
e65642065326e56d1db0aab866b93cc1f(10, 10) = RGB(52, 38, 1)
e65642065326e56d1db0aab866b93cc1f(1, 11) = RGB(255, 253, 214)
e65642065326e56d1db0aab866b93cc1f(2, 11) = RGB(254, 253, 161)
e65642065326e56d1db0aab866b93cc1f(3, 11) = RGB(254, 252, 92)
e65642065326e56d1db0aab866b93cc1f(4, 11) = RGB(238, 237, 51)
e65642065326e56d1db0aab866b93cc1f(5, 11) = RGB(222, 219, 26)
e65642065326e56d1db0aab866b93cc1f(6, 11) = RGB(190, 188, 7)
e65642065326e56d1db0aab866b93cc1f(7, 11) = RGB(160, 159, 15)
e65642065326e56d1db0aab866b93cc1f(8, 11) = RGB(124, 121, 4)
e65642065326e56d1db0aab866b93cc1f(9, 11) = RGB(89, 88, 5)
e65642065326e56d1db0aab866b93cc1f(10, 11) = RGB(50, 49, 1)
e65642065326e56d1db0aab866b93cc1f(1, 12) = RGB(237, 254, 218)
e65642065326e56d1db0aab866b93cc1f(2, 12) = RGB(218, 254, 180)
e65642065326e56d1db0aab866b93cc1f(3, 12) = RGB(195, 253, 133)
e65642065326e56d1db0aab866b93cc1f(4, 12) = RGB(171, 254, 84)
e65642065326e56d1db0aab866b93cc1f(5, 12) = RGB(148, 252, 41)
e65642065326e56d1db0aab866b93cc1f(6, 12) = RGB(123, 221, 22)
e65642065326e56d1db0aab866b93cc1f(7, 12) = RGB(106, 186, 25)
e65642065326e56d1db0aab866b93cc1f(8, 12) = RGB(77, 147, 14)
e65642065326e56d1db0aab866b93cc1f(9, 12) = RGB(57, 107, 8)
e65642065326e56d1db0aab866b93cc1f(10, 12) = RGB(30, 62, 0)
e65642065326e56d1db0aab866b93cc1f(1, 13) = RGB(216, 254, 217)
e65642065326e56d1db0aab866b93cc1f(2, 13) = RGB(176, 254, 178)
e65642065326e56d1db0aab866b93cc1f(3, 13) = RGB(124, 252, 129)
e65642065326e56d1db0aab866b93cc1f(4, 13) = RGB(72, 253, 76)
e65642065326e56d1db0aab866b93cc1f(5, 13) = RGB(28, 254, 32)
e65642065326e56d1db0aab866b93cc1f(6, 13) = RGB(7, 221, 11)
e65642065326e56d1db0aab866b93cc1f(7, 13) = RGB(19, 179, 19)
e65642065326e56d1db0aab866b93cc1f(8, 13) = RGB(5, 136, 6)
e65642065326e56d1db0aab866b93cc1f(9, 13) = RGB(5, 95, 5)
e65642065326e56d1db0aab866b93cc1f(10, 13) = RGB(1, 51, 0)
e65642065326e56d1db0aab866b93cc1f(1, 14) = RGB(219, 253, 236)
e65642065326e56d1db0aab866b93cc1f(2, 14) = RGB(182, 254, 216)
e65642065326e56d1db0aab866b93cc1f(3, 14) = RGB(134, 252, 191)
e65642065326e56d1db0aab866b93cc1f(4, 14) = RGB(84, 252, 164)
e65642065326e56d1db0aab866b93cc1f(5, 14) = RGB(38, 255, 142)
e65642065326e56d1db0aab866b93cc1f(6, 14) = RGB(18, 219, 115)
e65642065326e56d1db0aab866b93cc1f(7, 14) = RGB(23, 179, 98)
e65642065326e56d1db0aab866b93cc1f(8, 14) = RGB(12, 132, 71)
e65642065326e56d1db0aab866b93cc1f(9, 14) = RGB(8, 89, 48)
e65642065326e56d1db0aab866b93cc1f(10, 14) = RGB(0, 37, 19)
e65642065326e56d1db0aab866b93cc1f(1, 15) = RGB(215, 255, 247)
e65642065326e56d1db0aab866b93cc1f(2, 15) = RGB(165, 253, 237)
e65642065326e56d1db0aab866b93cc1f(3, 15) = RGB(99, 251, 226)
e65642065326e56d1db0aab866b93cc1f(4, 15) = RGB(27, 251, 215)
e65642065326e56d1db0aab866b93cc1f(5, 15) = RGB(30, 219, 189)
e65642065326e56d1db0aab866b93cc1f(6, 15) = RGB(13, 185, 159)
e65642065326e56d1db0aab866b93cc1f(7, 15) = RGB(19, 158, 135)
e65642065326e56d1db0aab866b93cc1f(8, 15) = RGB(4, 121, 102)
e65642065326e56d1db0aab866b93cc1f(9, 15) = RGB(3, 90, 74)
e65642065326e56d1db0aab866b93cc1f(10, 15) = RGB(0, 50, 41)
e65642065326e56d1db0aab866b93cc1f(1, 16) = RGB(255, 255, 255)
e65642065326e56d1db0aab866b93cc1f(2, 16) = RGB(237, 237, 237)
e65642065326e56d1db0aab866b93cc1f(3, 16) = RGB(211, 211, 211)
e65642065326e56d1db0aab866b93cc1f(4, 16) = RGB(180, 180, 180)
e65642065326e56d1db0aab866b93cc1f(5, 16) = RGB(153, 153, 153)
e65642065326e56d1db0aab866b93cc1f(6, 16) = RGB(120, 120, 120)
e65642065326e56d1db0aab866b93cc1f(7, 16) = RGB(98, 98, 98)
e65642065326e56d1db0aab866b93cc1f(8, 16) = RGB(63, 63, 63)
e65642065326e56d1db0aab866b93cc1f(9, 16) = RGB(35, 35, 35)
e65642065326e56d1db0aab866b93cc1f(10, 16) = RGB(0, 0, 0)
Label_apercu.BackColor = e65642065326e56d1db0aab866b93cc1f(e92363e69a54b8bb1284a635521834ada, m9fa4273af6a127b7e28cd9c6368d72ea)
TextBox_couleur_hexa = "#" & colorToHexa(e65642065326e56d1db0aab866b93cc1f(e92363e69a54b8bb1284a635521834ada, m9fa4273af6a127b7e28cd9c6368d72ea))
End Sub
Private Sub Image_couleurs_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
b9b1451b9c155c3ac2d0981522559fb48 = X
be2fad41da9dcd4f88816a8cc1105fb26 = Y
End Sub
Private Sub TextBox_couleur_hexa_Change()
b7f73e71dd60df5c644a85eb3ebf6969c = hexaToColor(TextBox_couleur_hexa)
If b7f73e71dd60df5c644a85eb3ebf6969c <> -1 Then Label_apercu.BackColor = b7f73e71dd60df5c644a85eb3ebf6969c
End Sub
Private Sub UserForm_Initialize()
Me.BackColor = &H8000000F
z821d24946133b7e434edcf2d7fbf25fd = -1
End Sub
Private Sub CommandButton_annuler_Click()
Unload Me
End Sub

                                    

Original


                                        Attribute VB_Name = "UserForm_DatePicker"
Attribute VB_Base = "0{C209C497-1208-440B-8EB9-447EC32BC432}{16FD9580-5348-4D7B-9B50-3534CBA9875C}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Private Sub UserForm_Initialize()
If e9f96cb66878c48ff79e44bf52ae10b34 = 1 Then
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 49
rb061d472e8d6ce0f61a2c989c2f8b868 = (m10509d317a03d8e9a09401b6c7d3443f - 1) Mod 7 + 0.75
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left - rb061d472e8d6ce0f61a2c989c2f8b868 * 3
Next
For m10509d317a03d8e9a09401b6c7d3443f = 0 To 6
Controls("Label_s" & m10509d317a03d8e9a09401b6c7d3443f).Left = Controls("Label_s" & m10509d317a03d8e9a09401b6c7d3443f).Left - 64.5
Next
End If
q6a99ed4acd7e7512b2e04da47fc62d42 = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 12
ComboBox_mois.AddItem q6a99ed4acd7e7512b2e04da47fc62d42(m10509d317a03d8e9a09401b6c7d3443f - 1)
Next
For m10509d317a03d8e9a09401b6c7d3443f = 2100 To 1900 Step -1
ComboBox_annee.AddItem m10509d317a03d8e9a09401b6c7d3443f
Next
ComboBox_mois.ListIndex = Month(Date) - 1
ComboBox_annee.ListIndex = 2100 - Year(Date)
rf16c5a73de3035d6b602cdc40cfa22d9 = Date
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Sub b762b15ed5fa5d121da95dea2bc8157d6(z3585269b7d8733306cd45ed239875a82)
q6a99ed4acd7e7512b2e04da47fc62d42 = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
x76c693bc1c729271162dfa3f95a18bfb = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
If v66724ada74e38279591b6dccf452d874 = 1 Then
Label_mois = Day(z3585269b7d8733306cd45ed239875a82) & " " & q6a99ed4acd7e7512b2e04da47fc62d42(Month(z3585269b7d8733306cd45ed239875a82) - 1)
Else
Label_jour = Day(z3585269b7d8733306cd45ed239875a82)
Label_mois = q6a99ed4acd7e7512b2e04da47fc62d42(Month(z3585269b7d8733306cd45ed239875a82) - 1)
End If
Label_annee = Year(z3585269b7d8733306cd45ed239875a82)
Label_jour_sem = x76c693bc1c729271162dfa3f95a18bfb(z6bd1ee950a7f65d9703a4ace2d36576a(z3585269b7d8733306cd45ed239875a82) - 1)
End Sub
Private Function z6bd1ee950a7f65d9703a4ace2d36576a(z3585269b7d8733306cd45ed239875a82)
z6bd1ee950a7f65d9703a4ace2d36576a = Weekday(z3585269b7d8733306cd45ed239875a82, 2)
End Function
Sub nbaecd0f989e5bad70330119f310f7389(b042189e997d1724e0b7741928430dae2, t5f39558ffce49a33ea43b2712dd90adb)
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = b042189e997d1724e0b7741928430dae2 - 1
ComboBox_annee.ListIndex = 2100 - t5f39558ffce49a33ea43b2712dd90adb
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
Label_rond.Left = -100
y322a9da8d5d582488ab5190f2de2ad85 = DateSerial(t5f39558ffce49a33ea43b2712dd90adb, b042189e997d1724e0b7741928430dae2, 1)
no_premier_jour = z6bd1ee950a7f65d9703a4ace2d36576a(y322a9da8d5d582488ab5190f2de2ad85)
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 42
z1957d49962d9430d77c0e5b343ac472f = y322a9da8d5d582488ab5190f2de2ad85 - no_premier_jour + m10509d317a03d8e9a09401b6c7d3443f
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f) = Day(z1957d49962d9430d77c0e5b343ac472f)
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Tag = z1957d49962d9430d77c0e5b343ac472f
If Month(z1957d49962d9430d77c0e5b343ac472f) = b042189e997d1724e0b7741928430dae2 And Year(Date) = t5f39558ffce49a33ea43b2712dd90adb And Month(Date) = b042189e997d1724e0b7741928430dae2 And Day(Date) = Day(z1957d49962d9430d77c0e5b343ac472f) Then
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H52983F
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = True
ElseIf Month(z1957d49962d9430d77c0e5b343ac472f) <> b042189e997d1724e0b7741928430dae2 Then
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H80000010
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = False
Else
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H80000012
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = False
End If
If z1957d49962d9430d77c0e5b343ac472f = rf16c5a73de3035d6b602cdc40cfa22d9 Then
wd7dcef504dd3e2b349fdfa0909fcc34d = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left
w5aabb0557cef9e2ca7aa6f6c9ed9272b = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Top
Label_rond.Left = wd7dcef504dd3e2b349fdfa0909fcc34d - 4
Label_rond.Top = w5aabb0557cef9e2ca7aa6f6c9ed9272b - 4.5
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &HFFFFFF
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = True
End If
If e9f96cb66878c48ff79e44bf52ae10b34 = 1 Then
If m10509d317a03d8e9a09401b6c7d3443f Mod 7 = 0 Then
Controls("Label_s" & Int(m10509d317a03d8e9a09401b6c7d3443f / 7)) = isoWeekNum(z1957d49962d9430d77c0e5b343ac472f)
End If
End If
Next
CommandButton_valider.SetFocus
End Sub
Private Sub ne0a7f62ab63272226dbc546221720dbf()
If Not IsEmpty(t0a46ff83dccf30afcf6650fb0c207e16) Then Exit Sub
If ComboBox_mois.ListIndex = -1 Or ComboBox_annee.ListIndex = -1 Then Exit Sub
bc8f13f08f0957b431dc7208a8ad6d128 = CDate("25/" & ComboBox_mois.ListIndex + 1 & "/" & 2100 - ComboBox_annee.ListIndex)
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub ComboBox_mois_Change()
ne0a7f62ab63272226dbc546221720dbf
End Sub
Private Sub ComboBox_annee_Change()
ne0a7f62ab63272226dbc546221720dbf
End Sub
Private Sub Label_g_Click()
If ComboBox_mois.ListIndex <= 0 And ComboBox_annee.ListIndex >= 200 Then Exit Sub
va77472d5b0e94ab4027657612237e8ef = ComboBox_mois.ListIndex - 1
If va77472d5b0e94ab4027657612237e8ef < 0 Then
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = 11
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
ComboBox_annee.ListIndex = ComboBox_annee.ListIndex + 1
Else
ComboBox_mois.ListIndex = ComboBox_mois.ListIndex - 1
End If
End Sub
Private Sub Label_d_Click()
If ComboBox_mois.ListIndex >= 11 And ComboBox_annee.ListIndex <= 0 Then Exit Sub
va77472d5b0e94ab4027657612237e8ef = ComboBox_mois.ListIndex + 1
If va77472d5b0e94ab4027657612237e8ef > 11 Then
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = 0
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
ComboBox_annee.ListIndex = ComboBox_annee.ListIndex - 1
Else
ComboBox_mois.ListIndex = ComboBox_mois.ListIndex + 1
End If
End Sub
Private Sub y3b87e7a9c5725e19206644de39f1a24b(no_label)
rf16c5a73de3035d6b602cdc40cfa22d9 = CDate(Controls("Label" & no_label).Tag)
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub Label1_Click()
y3b87e7a9c5725e19206644de39f1a24b 1
End Sub
Private Sub Label2_Click()
y3b87e7a9c5725e19206644de39f1a24b 2
End Sub
Private Sub Label3_Click()
y3b87e7a9c5725e19206644de39f1a24b 3
End Sub
Private Sub Label4_Click()
y3b87e7a9c5725e19206644de39f1a24b 4
End Sub
Private Sub Label5_Click()
y3b87e7a9c5725e19206644de39f1a24b 5
End Sub
Private Sub Label6_Click()
y3b87e7a9c5725e19206644de39f1a24b 6
End Sub
Private Sub Label7_Click()
y3b87e7a9c5725e19206644de39f1a24b 7
End Sub
Private Sub Label8_Click()
y3b87e7a9c5725e19206644de39f1a24b 8
End Sub
Private Sub Label9_Click()
y3b87e7a9c5725e19206644de39f1a24b 9
End Sub
Private Sub Label10_Click()
y3b87e7a9c5725e19206644de39f1a24b 10
End Sub
Private Sub Label11_Click()
y3b87e7a9c5725e19206644de39f1a24b 11
End Sub
Private Sub Label12_Click()
y3b87e7a9c5725e19206644de39f1a24b 12
End Sub
Private Sub Label13_Click()
y3b87e7a9c5725e19206644de39f1a24b 13
End Sub
Private Sub Label14_Click()
y3b87e7a9c5725e19206644de39f1a24b 14
End Sub
Private Sub Label15_Click()
y3b87e7a9c5725e19206644de39f1a24b 15
End Sub
Private Sub Label16_Click()
y3b87e7a9c5725e19206644de39f1a24b 16
End Sub
Private Sub Label17_Click()
y3b87e7a9c5725e19206644de39f1a24b 17
End Sub
Private Sub Label18_Click()
y3b87e7a9c5725e19206644de39f1a24b 18
End Sub
Private Sub Label19_Click()
y3b87e7a9c5725e19206644de39f1a24b 19
End Sub
Private Sub Label20_Click()
y3b87e7a9c5725e19206644de39f1a24b 20
End Sub
Private Sub Label21_Click()
y3b87e7a9c5725e19206644de39f1a24b 21
End Sub
Private Sub Label22_Click()
y3b87e7a9c5725e19206644de39f1a24b 22
End Sub
Private Sub Label23_Click()
y3b87e7a9c5725e19206644de39f1a24b 23
End Sub
Private Sub Label24_Click()
y3b87e7a9c5725e19206644de39f1a24b 24
End Sub
Private Sub Label25_Click()
y3b87e7a9c5725e19206644de39f1a24b 25
End Sub
Private Sub Label26_Click()
y3b87e7a9c5725e19206644de39f1a24b 26
End Sub
Private Sub Label27_Click()
y3b87e7a9c5725e19206644de39f1a24b 27
End Sub
Private Sub Label28_Click()
y3b87e7a9c5725e19206644de39f1a24b 28
End Sub
Private Sub Label29_Click()
y3b87e7a9c5725e19206644de39f1a24b 29
End Sub
Private Sub Label30_Click()
y3b87e7a9c5725e19206644de39f1a24b 30
End Sub
Private Sub Label31_Click()
y3b87e7a9c5725e19206644de39f1a24b 31
End Sub
Private Sub Label32_Click()
y3b87e7a9c5725e19206644de39f1a24b 32
End Sub
Private Sub Label33_Click()
y3b87e7a9c5725e19206644de39f1a24b 33
End Sub
Private Sub Label34_Click()
y3b87e7a9c5725e19206644de39f1a24b 34
End Sub
Private Sub Label35_Click()
y3b87e7a9c5725e19206644de39f1a24b 35
End Sub
Private Sub Label36_Click()
y3b87e7a9c5725e19206644de39f1a24b 36
End Sub
Private Sub Label37_Click()
y3b87e7a9c5725e19206644de39f1a24b 37
End Sub
Private Sub Label38_Click()
y3b87e7a9c5725e19206644de39f1a24b 38
End Sub
Private Sub Label39_Click()
y3b87e7a9c5725e19206644de39f1a24b 39
End Sub
Private Sub Label40_Click()
y3b87e7a9c5725e19206644de39f1a24b 40
End Sub
Private Sub Label41_Click()
y3b87e7a9c5725e19206644de39f1a24b 41
End Sub
Private Sub Label42_Click()
y3b87e7a9c5725e19206644de39f1a24b 42
End Sub
Private Sub Label_valider_Click()
w7edc795356cdc3e639b1213526b5fe96 = rf16c5a73de3035d6b602cdc40cfa22d9
Unload Me
End Sub
Private Sub CommandButton_valider_Click()
Label_valider_Click
End Sub
Private Sub Label_annuler_Click()
Unload Me
End Sub
Private Sub CommandButton_annuler_Click()
Label_annuler_Click
End Sub
Private Sub CommandButton_ajd_Click()
rf16c5a73de3035d6b602cdc40cfa22d9 = Date
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub Label_ajd_Click()
CommandButton_ajd_Click
End Sub

                                    

Deobfuscated


                                        Attribute VB_Name = "UserForm_DatePicker"
Attribute VB_Base = "0{C209C497-1208-440B-8EB9-447EC32BC432}{16FD9580-5348-4D7B-9B50-3534CBA9875C}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
'#####################################################################################################
'## Pack de fonctions XLP © Sébastien Mathier (www.excel-pratique.com/fr/fonctions-complementaires) ##
'#####################################################################################################
Private Sub UserForm_Initialize()
If e9f96cb66878c48ff79e44bf52ae10b34 = 1 Then
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 49
rb061d472e8d6ce0f61a2c989c2f8b868 = (m10509d317a03d8e9a09401b6c7d3443f - 1) Mod 7 + 0.75
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left - rb061d472e8d6ce0f61a2c989c2f8b868 * 3
Next
For m10509d317a03d8e9a09401b6c7d3443f = 0 To 6
Controls("Label_s" & m10509d317a03d8e9a09401b6c7d3443f).Left = Controls("Label_s" & m10509d317a03d8e9a09401b6c7d3443f).Left - 64.5
Next
End If
q6a99ed4acd7e7512b2e04da47fc62d42 = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 12
ComboBox_mois.AddItem q6a99ed4acd7e7512b2e04da47fc62d42(m10509d317a03d8e9a09401b6c7d3443f - 1)
Next
For m10509d317a03d8e9a09401b6c7d3443f = 2100 To 1900 Step -1
ComboBox_annee.AddItem m10509d317a03d8e9a09401b6c7d3443f
Next
ComboBox_mois.ListIndex = Month(Date) - 1
ComboBox_annee.ListIndex = 2100 - Year(Date)
rf16c5a73de3035d6b602cdc40cfa22d9 = Date
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Sub b762b15ed5fa5d121da95dea2bc8157d6(z3585269b7d8733306cd45ed239875a82)
q6a99ed4acd7e7512b2e04da47fc62d42 = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
x76c693bc1c729271162dfa3f95a18bfb = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
If v66724ada74e38279591b6dccf452d874 = 1 Then
Label_mois = Day(z3585269b7d8733306cd45ed239875a82) & " " & q6a99ed4acd7e7512b2e04da47fc62d42(Month(z3585269b7d8733306cd45ed239875a82) - 1)
Else
Label_jour = Day(z3585269b7d8733306cd45ed239875a82)
Label_mois = q6a99ed4acd7e7512b2e04da47fc62d42(Month(z3585269b7d8733306cd45ed239875a82) - 1)
End If
Label_annee = Year(z3585269b7d8733306cd45ed239875a82)
Label_jour_sem = x76c693bc1c729271162dfa3f95a18bfb(z6bd1ee950a7f65d9703a4ace2d36576a(z3585269b7d8733306cd45ed239875a82) - 1)
End Sub
Private Function z6bd1ee950a7f65d9703a4ace2d36576a(z3585269b7d8733306cd45ed239875a82)
z6bd1ee950a7f65d9703a4ace2d36576a = Weekday(z3585269b7d8733306cd45ed239875a82, 2)
End Function
Sub nbaecd0f989e5bad70330119f310f7389(b042189e997d1724e0b7741928430dae2, t5f39558ffce49a33ea43b2712dd90adb)
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = b042189e997d1724e0b7741928430dae2 - 1
ComboBox_annee.ListIndex = 2100 - t5f39558ffce49a33ea43b2712dd90adb
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
Label_rond.Left = -100
y322a9da8d5d582488ab5190f2de2ad85 = DateSerial(t5f39558ffce49a33ea43b2712dd90adb, b042189e997d1724e0b7741928430dae2, 1)
no_premier_jour = z6bd1ee950a7f65d9703a4ace2d36576a(y322a9da8d5d582488ab5190f2de2ad85)
For m10509d317a03d8e9a09401b6c7d3443f = 1 To 42
z1957d49962d9430d77c0e5b343ac472f = y322a9da8d5d582488ab5190f2de2ad85 - no_premier_jour + m10509d317a03d8e9a09401b6c7d3443f
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f) = Day(z1957d49962d9430d77c0e5b343ac472f)
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Tag = z1957d49962d9430d77c0e5b343ac472f
If Month(z1957d49962d9430d77c0e5b343ac472f) = b042189e997d1724e0b7741928430dae2 And Year(Date) = t5f39558ffce49a33ea43b2712dd90adb And Month(Date) = b042189e997d1724e0b7741928430dae2 And Day(Date) = Day(z1957d49962d9430d77c0e5b343ac472f) Then
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H52983F
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = True
ElseIf Month(z1957d49962d9430d77c0e5b343ac472f) <> b042189e997d1724e0b7741928430dae2 Then
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H80000010
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = False
Else
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &H80000012
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = False
End If
If z1957d49962d9430d77c0e5b343ac472f = rf16c5a73de3035d6b602cdc40cfa22d9 Then
wd7dcef504dd3e2b349fdfa0909fcc34d = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Left
w5aabb0557cef9e2ca7aa6f6c9ed9272b = Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Top
Label_rond.Left = wd7dcef504dd3e2b349fdfa0909fcc34d - 4
Label_rond.Top = w5aabb0557cef9e2ca7aa6f6c9ed9272b - 4.5
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).ForeColor = &HFFFFFF
Controls("Label" & m10509d317a03d8e9a09401b6c7d3443f).Font.Bold = True
End If
If e9f96cb66878c48ff79e44bf52ae10b34 = 1 Then
If m10509d317a03d8e9a09401b6c7d3443f Mod 7 = 0 Then
Controls("Label_s" & Int(m10509d317a03d8e9a09401b6c7d3443f / 7)) = isoWeekNum(z1957d49962d9430d77c0e5b343ac472f)
End If
End If
Next
CommandButton_valider.SetFocus
End Sub
Private Sub ne0a7f62ab63272226dbc546221720dbf()
If Not IsEmpty(t0a46ff83dccf30afcf6650fb0c207e16) Then Exit Sub
If ComboBox_mois.ListIndex = -1 Or ComboBox_annee.ListIndex = -1 Then Exit Sub
bc8f13f08f0957b431dc7208a8ad6d128 = CDate("25/" & ComboBox_mois.ListIndex + 1 & "/" & 2100 - ComboBox_annee.ListIndex)
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub ComboBox_mois_Change()
ne0a7f62ab63272226dbc546221720dbf
End Sub
Private Sub ComboBox_annee_Change()
ne0a7f62ab63272226dbc546221720dbf
End Sub
Private Sub Label_g_Click()
If ComboBox_mois.ListIndex <= 0 And ComboBox_annee.ListIndex >= 200 Then Exit Sub
va77472d5b0e94ab4027657612237e8ef = ComboBox_mois.ListIndex - 1
If va77472d5b0e94ab4027657612237e8ef < 0 Then
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = 11
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
ComboBox_annee.ListIndex = ComboBox_annee.ListIndex + 1
Else
ComboBox_mois.ListIndex = ComboBox_mois.ListIndex - 1
End If
End Sub
Private Sub Label_d_Click()
If ComboBox_mois.ListIndex >= 11 And ComboBox_annee.ListIndex <= 0 Then Exit Sub
va77472d5b0e94ab4027657612237e8ef = ComboBox_mois.ListIndex + 1
If va77472d5b0e94ab4027657612237e8ef > 11 Then
t0a46ff83dccf30afcf6650fb0c207e16 = True
ComboBox_mois.ListIndex = 0
t0a46ff83dccf30afcf6650fb0c207e16 = Empty
ComboBox_annee.ListIndex = ComboBox_annee.ListIndex - 1
Else
ComboBox_mois.ListIndex = ComboBox_mois.ListIndex + 1
End If
End Sub
Private Sub y3b87e7a9c5725e19206644de39f1a24b(no_label)
rf16c5a73de3035d6b602cdc40cfa22d9 = CDate(Controls("Label" & no_label).Tag)
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub Label1_Click()
y3b87e7a9c5725e19206644de39f1a24b 1
End Sub
Private Sub Label2_Click()
y3b87e7a9c5725e19206644de39f1a24b 2
End Sub
Private Sub Label3_Click()
y3b87e7a9c5725e19206644de39f1a24b 3
End Sub
Private Sub Label4_Click()
y3b87e7a9c5725e19206644de39f1a24b 4
End Sub
Private Sub Label5_Click()
y3b87e7a9c5725e19206644de39f1a24b 5
End Sub
Private Sub Label6_Click()
y3b87e7a9c5725e19206644de39f1a24b 6
End Sub
Private Sub Label7_Click()
y3b87e7a9c5725e19206644de39f1a24b 7
End Sub
Private Sub Label8_Click()
y3b87e7a9c5725e19206644de39f1a24b 8
End Sub
Private Sub Label9_Click()
y3b87e7a9c5725e19206644de39f1a24b 9
End Sub
Private Sub Label10_Click()
y3b87e7a9c5725e19206644de39f1a24b 10
End Sub
Private Sub Label11_Click()
y3b87e7a9c5725e19206644de39f1a24b 11
End Sub
Private Sub Label12_Click()
y3b87e7a9c5725e19206644de39f1a24b 12
End Sub
Private Sub Label13_Click()
y3b87e7a9c5725e19206644de39f1a24b 13
End Sub
Private Sub Label14_Click()
y3b87e7a9c5725e19206644de39f1a24b 14
End Sub
Private Sub Label15_Click()
y3b87e7a9c5725e19206644de39f1a24b 15
End Sub
Private Sub Label16_Click()
y3b87e7a9c5725e19206644de39f1a24b 16
End Sub
Private Sub Label17_Click()
y3b87e7a9c5725e19206644de39f1a24b 17
End Sub
Private Sub Label18_Click()
y3b87e7a9c5725e19206644de39f1a24b 18
End Sub
Private Sub Label19_Click()
y3b87e7a9c5725e19206644de39f1a24b 19
End Sub
Private Sub Label20_Click()
y3b87e7a9c5725e19206644de39f1a24b 20
End Sub
Private Sub Label21_Click()
y3b87e7a9c5725e19206644de39f1a24b 21
End Sub
Private Sub Label22_Click()
y3b87e7a9c5725e19206644de39f1a24b 22
End Sub
Private Sub Label23_Click()
y3b87e7a9c5725e19206644de39f1a24b 23
End Sub
Private Sub Label24_Click()
y3b87e7a9c5725e19206644de39f1a24b 24
End Sub
Private Sub Label25_Click()
y3b87e7a9c5725e19206644de39f1a24b 25
End Sub
Private Sub Label26_Click()
y3b87e7a9c5725e19206644de39f1a24b 26
End Sub
Private Sub Label27_Click()
y3b87e7a9c5725e19206644de39f1a24b 27
End Sub
Private Sub Label28_Click()
y3b87e7a9c5725e19206644de39f1a24b 28
End Sub
Private Sub Label29_Click()
y3b87e7a9c5725e19206644de39f1a24b 29
End Sub
Private Sub Label30_Click()
y3b87e7a9c5725e19206644de39f1a24b 30
End Sub
Private Sub Label31_Click()
y3b87e7a9c5725e19206644de39f1a24b 31
End Sub
Private Sub Label32_Click()
y3b87e7a9c5725e19206644de39f1a24b 32
End Sub
Private Sub Label33_Click()
y3b87e7a9c5725e19206644de39f1a24b 33
End Sub
Private Sub Label34_Click()
y3b87e7a9c5725e19206644de39f1a24b 34
End Sub
Private Sub Label35_Click()
y3b87e7a9c5725e19206644de39f1a24b 35
End Sub
Private Sub Label36_Click()
y3b87e7a9c5725e19206644de39f1a24b 36
End Sub
Private Sub Label37_Click()
y3b87e7a9c5725e19206644de39f1a24b 37
End Sub
Private Sub Label38_Click()
y3b87e7a9c5725e19206644de39f1a24b 38
End Sub
Private Sub Label39_Click()
y3b87e7a9c5725e19206644de39f1a24b 39
End Sub
Private Sub Label40_Click()
y3b87e7a9c5725e19206644de39f1a24b 40
End Sub
Private Sub Label41_Click()
y3b87e7a9c5725e19206644de39f1a24b 41
End Sub
Private Sub Label42_Click()
y3b87e7a9c5725e19206644de39f1a24b 42
End Sub
Private Sub Label_valider_Click()
w7edc795356cdc3e639b1213526b5fe96 = rf16c5a73de3035d6b602cdc40cfa22d9
Unload Me
End Sub
Private Sub CommandButton_valider_Click()
Label_valider_Click
End Sub
Private Sub Label_annuler_Click()
Unload Me
End Sub
Private Sub CommandButton_annuler_Click()
Label_annuler_Click
End Sub
Private Sub CommandButton_ajd_Click()
rf16c5a73de3035d6b602cdc40cfa22d9 = Date
bc8f13f08f0957b431dc7208a8ad6d128 = rf16c5a73de3035d6b602cdc40cfa22d9
b762b15ed5fa5d121da95dea2bc8157d6 rf16c5a73de3035d6b602cdc40cfa22d9
nbaecd0f989e5bad70330119f310f7389 Month(bc8f13f08f0957b431dc7208a8ad6d128), Year(bc8f13f08f0957b431dc7208a8ad6d128)
End Sub
Private Sub Label_ajd_Click()
CommandButton_ajd_Click
End Sub

                                    
[Content_Types].xml
S!-&!,
_rels/.rels
r:"y_dl
xl/workbook.xml
:^}~H:
xl/_rels/workbook.xml.rels
aU^_-_
xl/worksheets/sheet1.xml
xl/theme/theme1.xml
%kXf4GWG
U*A9F$q
%Cr`$RQi
=|d"a@ j!?
xl/styles.xml
g"$Q4<8
xl/vbaProject.bin
o9g}nw
|gKdqn[2
-,~22Bg
.}v|Gbwz|{
_i/,~)
x|,ZF<r!
KUqMq]qC
%>%Ig|
SV:ua6sC8A
96G*=q
WU^>No
:2oVx+8'
&:W o]
^)aNO9
^Ryk*o[
#I\<{=}sm@
:D}R5?
RdnkJt4
6|\<-r
(w)p#7
U7g[{W
l>oXu~|^
&ZJOJ/
s0m;6T
8gmH9{
N1O!E/
2VWV~S
zQd}eN;
ikMw8e
T`'0o`
OV{Bu_
1%w\2uI
h8pfs"5%
nZpSMb
%zjU5I
kRK)\-
\mnWOG+
aY\^6MuF
]6Gm&
#G}'"G
c)k.c~^z
s4F&&g
lz?EBZ
QD2/qo
$H]Kh}o*
}sc5y
0){{QR
sB~k1YG
[+=m{[
1-PX>;
5qPu8R9
[y!Fo
XM:iA`
EvfeR(
?9U4E~
]$v`rh
_lEAHkP7bH(
gR^Cu}^X
}g{}^}^m
/lNdw"
pH6]rV
DLP!zL
>}+@x=<
dj9"v>
r/W*d"fR
f%N[T%
DsuCxs
?Q'I$
u~$sb"
(iG3x[
~F(\9V
=z^h0
1Ir([)
"2YLrU\
Ps{pPg)
2,5HvT
>~Rg4U=
7-wu@u
GiCwlm
GI/SO-S
g}Z}ZEZ
,q`%)E
>TJR@V
Q[#+cV
L5"?%1
0tC+b{[
j%\uAx
Gq/\=*K
<~9hO"
1t+Cw2t
?BmQBL
|K&?>&?,
0lQD&?
w$Z>:?
B+|5{x
n6^9o6
a^PLhY
S\Pk;7
`_w"g0u0
zGyzOJ
-9BezG
H>Q2\
T~k7_k
:EY^A+
h"8Mn2
}g/RC
gz{D\'G:
G\\E^D
Gi}Fs;ZG
HWp:;{
6UZ%.L-\
/LL]*>
vMIPUI
M^S^RW
m[U=[S
SMWnIH
Q%1R^w
8sjljU
yirV~f
5%eot
LGtSvd#a
]4f[rd
kK[1`L
taeR!m
KcrA=auB3
0,{Pj?L
F`N\"lez
yla'@^
vto]ej
(80($d
3Z>8# |FG
I[~D"
:)x#Rr
[,WMO*
g05%a~
Hrr9{/
f2f%cF2f#K
r}J-.|
|8ZHI
H^C}
,;-tI[~&Xw`
kn<{1`
Z\v>9,
R+fE}u+X
S6?}STRU3
v@bq4vGd}TvY
t*0CJUzZ
CS<BTTBUlBV
C],C^DC_\C`tCa
Ah4AiLAjdAk|Al
@s<?tT?ul?v
@},@~D@
{B@,9)
kCO\;8
Ua%Vb5Vd=Vee
euVh}Vi
q5Wt=Wue
uuWx}Wy
Z .Z!FZ"^Z#vZ$
Y,NX-fX.~X/
Y5&Y6>Y7VY8nY9
X;6X<fV=
WB&WCFWDfWE
9wf2sf
tjfx*%
kpV,'"
Qdr4bl
lDg<Dg
EVe7c+
=^`fSy
bdw~1n
IEkKU,
:Tf{r9
Toqbo=S
2---==}
8W~'4?
NV`)pu'
docProps/core.xml
docProps/app.xml
8kAcHE
[Content_Types].xmlPK
_rels/.relsPK
xl/workbook.xmlPK
xl/_rels/workbook.xml.relsPK
xl/worksheets/sheet1.xmlPK
xl/theme/theme1.xmlPK
xl/styles.xmlPK
xl/vbaProject.binPK
docProps/core.xmlPK
docProps/app.xmlPK
Antivirus Signature
Bkav Clean
Lionic Clean
tehtris Clean
ClamAV Clean
CMC Clean
CAT-QuickHeal Clean
Skyhigh Clean
McAfee Clean
Malwarebytes Clean
Zillya Clean
Sangfor Clean
K7AntiVirus Clean
Alibaba Clean
K7GW Clean
Cybereason Clean
Baidu Clean
Symantec Clean
Elastic Clean
ESET-NOD32 Clean
TrendMicro-HouseCall Clean
Avast Clean
Cynet Clean
Kaspersky Clean
BitDefender Clean
NANO-Antivirus Clean
ViRobot Clean
MicroWorld-eScan Clean
Tencent Clean
Trustlook Clean
Sophos Clean
F-Secure Clean
DrWeb Clean
VIPRE Clean
TrendMicro Clean
FireEye Clean
Emsisoft Clean
GData Clean
Jiangmin Clean
Varist Clean
Avira Clean
MAX Clean
Antiy-AVL Clean
Kingsoft Clean
Microsoft Clean
Gridinsoft Clean
Xcitium Clean
Arcabit Clean
SUPERAntiSpyware Clean
ZoneAlarm Clean
Avast-Mobile Clean
Google Detected.Heuristic.Script
AhnLab-V3 Clean
Acronis Clean
ALYac Clean
TACHYON Clean
VBA32 Clean
Zoner Clean
Rising Malware.Obfus/VBA@AI.82 (VBA)
Yandex Clean
Ikarus Clean
MaxSecure Clean
Fortinet Clean
BitDefenderTheta Clean
AVG Clean
Panda Clean
CrowdStrike Clean
alibabacloud Clean
No IRMA results available.