erreur 2042 ou 13 : Application.Match

herve62

XLDnaute Barbatruc
Bonsoir
J’aimerai bien comprendre le Pourquoi et quoi sur ce bout de code et le Application.Match:
Code:
If Flag Then Exit Sub

k = Application.Match(ComboBox1, Columns(1), 0)
On Error GoTo 0
If k <> 0 Then
Il se trouve dans l’USF et une Combo sans saisie possible donc si je « clic » à vide puis passe au bouton « ENREGIST » qui a CE même code au début , j’ai erreur 13 , j'ai aussi eu 2042 ? en Debug j'ai K=0 ?

Combobox= ""
c'est là que pige pas le Pourquoi de cette erreur?
Donc je met ON ERROR RESUME NEXT et ça passe , mais j’aime pas trop !!
J'ai trouvé une parade toute bête mais j'aimerai bien savoir !
Merci
 

Staple1600

XLDnaute Barbatruc
Re : erreur 2042 ou 13 : Application.Match

Bonsoir à tous

herve62
J’aimerai bien comprendre le Pourquoi
Moi aussi j'aimerai comprendre mais pas le même pourquoi ;)

Pourquoi tu n'as pas joint de fichier exemple ?
(tu n'es pourtant pas un nouveau membre...)

NB: Pas envie de devoir récréer un Userform avec ses contrôles et ses codes VBA, alors que tout cela existe déjà sur ton disque dur ...:rolleyes:
 

BOISGONTIER

XLDnaute Barbatruc
Re : erreur 2042 ou 13 : Application.Match

Bonsoir,

k = Application.Match(ComboBox1, Columns(1), False)
If Not IsError(k) Then

Else

End if

JB
 
Dernière édition:

herve62

XLDnaute Barbatruc
Re : erreur 2042 ou 13 : Application.Match

Bonjour
Staple : laréponse au "Pourquoi" est simple :
J'ai trouvé une parade toute bête mais j'aimerai bien savoir
ayant continué à travailler dessus j'ai changé beaucoup de choses ensuite
Donc je n'ai plus le fichier sur mon DD !!!!!!!!!! ( écrasé)
Et je n'allais pas tout casser pour revenir en arrière ? et peut être faire pire
Par contre j'ai refait un petit exemple tout simple j'ai mis mon code : ça plante
j'ai mis la correction de Jacques : c'est OK ; l'erreur 2042 est toujours là mais comme elle est traitée par le IF
c'est bon
Bon Week end

Jacques : un petit bonjour de Boulogne & Gayole qui a bien changé
 

Dranreb

XLDnaute Barbatruc
Re : erreur 2042 ou 13 : Application.Match

Bonjour.

Personnellement je trouve ça le plus souvent idiot d'entreprendre une recherche suite à un changement de valeur de ComboBox, dans la mesure où celui ci en effectue déjà une dans sa propriété List dont il renvoie dans sa propriété ListIndex le décalage par rapport au premier élément, ou -1 s'il n'y figure pas.
Il ne reste qu'à préétablir les liens de façon à retrouver instantannément l'information.
J'ai une excellente fonction qui … :
Function SujetCBx(ByVal Src, Optional ByVal Croissant As Boolean = True, _
Optional ByVal Format As String = "", Optional ByVal Base As Long = 1)
Rem. —— Restitue un Variant contenant un Array à deux éléments :
' Élément 0: Un tableau base 0 de valeurs de clés destiné en principe à la propriété List d'un ComboBox.
' Élément 1: Un tableau base 0 de Variant dont chaque élément est une liste (Base To n) As Long de
' numéros des lignes portant toutes la valeur de clé correspondante.
' Src: Range ou tableau 2D d'une seule colonne à inventorier.
' Croissant: Option. False ==> Les postes du tableau dans l'élément 0 seront en ordre décroissant.
' Format: Option. Format d'affichage des postes du tableau dans l'élément 0.
' Base: Option. Indice du 1er élément des listes de lignes. Spécifiez Base:=0 si vous avez besoin de verser le contenu
' des lignes dans un contrôle, 1 ou non précisé si c'est pour un tableau à destination de la Value d'un Range.
 
Dernière édition:

Discussions similaires


Haut Bas