Utilisation d'Index et Match - Erreur 2023
Bonjour au forum,
Je ne suis qu'un amateur, mais il me semble que là, j'ai atteint les limites de ma compétence.
Lorsque j'exécute le code ci-dessous, j'abouti à une erreur 2023 et je ne trouve aucune réponse à cette erreur sur le net.
Il est probable que mon code soit mal construit ou qu'il manque certaines déclarations ou...
Quelqu'un pourrait-il me donner un coup de main ?
Quelques infos supplémentaires :
Dans I18, l'utilisateur entre un code tel que "100" par exemple. Dans la feuille, il y a une formule Excel qui m'affiche le libellé de la commission paritaire. Elle fonctionne très bien, la voici :
Code:
=SI(I18<>"";SIERREUR(INDEX('Commissions Paritaires'!A2:C399;EQUIV(I18;'Commissions Paritaires'!A2:A399;0);2);"Cette CP n'existe pas");"")
Dans la feuille "Commissions Paritaires", il y a 5 colonnes:
CP |
Commission Paritaire |
Paritair comité |
Ecochèques |
KKP |
201,00,00 |
Commerce de détail indépendant |
Zelfst.kleinhandel |
Oui |
Oui |
Elles contiennent le code, le libellé en français, le libellé en néerlandais, est-il prévu des ecochèques, est-il prévu une prime
Dans la plupart des cas, les colonnes 4 et 5 ne contiennent rien et c'est dans ce cas que la macro s'exécute complètement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("I18")) Is Nothing Then
With Application
ecocheque = .Index(Sheets("Commissions Paritaires").Range("A2:C399"), .Match(Range("I18"), Sheets("Commissions Paritaires").Range("A2:A399"), 0), 4)
KKP = .Index(Sheets("Commissions Paritaires").Range("A2:C399"), .Match(Range("I18"), Sheets("Commissions Paritaires").Range("A2:A399"), 0), 5)
End With
If UCase(ecocheque) <> "OUI" Then
' Désactivation des réponses de la question Vastefee/uur
Me.VasteFeeNA.Enabled = False
Me.VasteFeeWB.Enabled = False
Me.VasteFeeGV.Enabled = False
' Mise à zéro de la valeur des réponses
Me.VasteFeeNA.Value = False
Me.VasteFeeWB.Value = False
Me.VasteFeeGV.Value = False
' Mise en blanc de cette ligne
Reponse = "VasteFeeRAZ"
Range(Sheets("Parameters").Range(ColDebut).Value & LigneCrt & ":" & _
Sheets("Parameters").Range(ColFin).Value & LigneCrt).Interior.Color = RGB(255, 255, 255)
End If
If UCase(KKP) <> "OUI" Then
' Désactivation des réponses de la question Vastefee/uur
Me.KoopKrachtPremieB.Enabled = False
Me.KoopKrachtPremieNA.Enabled = False
Me.KoopKrachtPremieGV.Enabled = False
' Mise à zéro de la valeur des réponses
Me.KoopKrachtPremieB.Value = False
Me.KoopKrachtPremieNA.Value = False
Me.KoopKrachtPremieGV.Value = False
' Mise en blanc de cette ligne
Reponse = "KoopKrachtPremieRAZ"
Range(Sheets("Parameters").Range(ColDebut).Value & LigneCrt & ":" & _
Sheets("Parameters").Range(ColFin).Value & LigneCrt).Interior.Color = RGB(255, 255, 255)
End If
End If
End Sub |
Quand on est trop fatigué, il faut arrêter...
Bonjour Menhir,
C'était évident mais la fatigue fait commettre des erreurs grossières.
Mille mercis pour votre clairvoyance.
Je ne clôture pas encore le dossier car j'ai une autre difficulté pour laquelle je n'entrevois pas encore de solution.
Je cherche d'abord et vous reviens ensuite, le cas échéant.
Bonne soirée !
Henri