Incompatibilité de type match

Bonjour à tous,

je rencontre un soucis d'incompatibilité de type avec le code suivant afin de matcher une ligne

Id_Project est déclaré en Integer

le Current_WP_Id étant récupéré d'une zone de liste je présume qu'il est en string et le converti donc via clng

a toutes fins utiles je précise que toutes valeurs renvoie bien les bonnes données

Private Sub List_WorkPackages_Click()
Dim Current_WP_Id As String

Set WP_page = Sheets("Work-Packages")
Current_WP_Id = CLng(List_WorkPackages.Column(0))

Match_WP_Line = Application.Match(Id_Project & Current_WP_Id, WP_page.Columns("A:A") & WP_page.Columns("B;B"), 0)

End Sub

Merci par avance pour votre aide

Bonjour,

un peu d'attention !!!

Dim Current_WP_Id As String la variable est déclarée en string !!

Current_WP_Id = CLng(List_WorkPackages.Column(0)) on essaye de mettre un entier long dans un string !!

A+

Je viens de créer le fichier exemple joint retraçant le soucis

si on clique sur le bouton de feuille 1 ca lance le userform et si on clique sur la ligne du 3 c'est supposé faire le match

4exemple.xlsm (39.81 Ko)

merci par avance pour votre aide

Re,

Heureusement que l'on a ton fichier... c'est du grand n'importe quoi

Si j'ai bien compris

Match_WP_Line = Application.Match(Id_Project & Current_WP_Id, WP_page.Columns("A") & WP_page.Columns("B"), 0)

Tu veux grâce à ce codage hors norme

trouver l'Id_Project dans la colonne A et le Current_WP_ID dans la colonne B

Alors comment te dire

Un peu de lecture te ferait du bien... peut-être

https://docs.microsoft.com/fr-fr/office/vba/api/excel.worksheetfunction.match

je cherche à trouver la ligne ayant effectivement l'id projet souhaite en colonne A et l'id WP souhaité en colonne B

je sais faire les match à un critère

Match = Application.Match(Id_Project, Wp_page.Columns("A"), 0)

mais pas à deux critères

je tente meme des choses que je vois autre part sans resultats

Match_WP_Line = Application.Match(1, (WP_page.Columns("A") = Id_Project) * (WP_page.Columns("B") = Current_WP_Id), 0)

j'ai trouvé un moyen d'arriver à mes fins bien loin de mon script d'origine et voulais votre avis si c’était le meilleur moyen d'arriver à mes fins.

fin = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To fin
 If WP_page.Cells(i, "A") = Id_Project And WP_page.Cells(i, "B") = Current_WP_Id Then
   Match_WP_Line = i
   End If
   Next

sachant que c'est ensuite pour indexer la ligne concernée pour en récupérer ou updater les données

merci à vous par avance,

Rechercher des sujets similaires à "incompatibilite type match"