VBA Application Match Index Erreur '13'

vivi4561

XLDnaute Junior
Bonjour,

J'utilise actuellement dans mon code VBA :
Code:
J1 = Application.Index(Sheets("Setup").Range("AF17:AM51"), Application.Match(codepays, Sheets("Setup").Range("AF17:AF51"), 0), E1)

Tout marche bien sauf quand j'ai un codepays qu'il ne retrouve pas dans le tableau. Pour gérer ce cas, j'ai utilisé la fonction 'On error Go to' cependant bien que je devrais gérer l'erreur, un message d'erreur s'affiche.:(

Savez vous comment faire pour empêcher l'apparition du message d'erreur s'il ne trouve pas le 'codepays' dans mon tableau ?


Merci d'avance,


Vince
 
C

Compte Supprimé 979

Guest
Re : VBA Application Match Index Erreur '13'

Bonjour Vivi4561,

Essaye comme ça
Code:
On Error Resume Next
J1 = Application.Index(Sheets("Setup").Range("AF17:AM51"), Application.Match(codepays, Sheets("Setup").Range("AF17:AF51"), 0), E1)
If Err.Number <>0 then
  MsgBox "Impossible de trouver la valeur du code pays"
End if

A+
 

vivi4561

XLDnaute Junior
Re : VBA Application Match Index Erreur '13'

Merci Bruno pour ta réponse.

Est ce que tu serais comment faire : lorsque j'ai une erreur je souhaite passer à la boucle suivante de mon For each k In ....

J'ai mis dans la boucle If : Next k mais ça ne marche pas.
 

job75

XLDnaute Barbatruc
Re : VBA Application Match Index Erreur '13'

Bonjour vivi4561, salut Bruno,

On peut se passer de gestion d'erreur si J1 est une variable Variant :

Code:
Dim J1 As Variant
'------
For Each k In ....
  J1 = Application.Index(Sheets("Setup").Range("AF17:AM51"), Application.Match(codepays, Sheets("Setup").Range("AF17:AF51"), 0), E1)
  If Not IsError(J1) Then
    '-------
  End If
Next
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas