Problème avec la méthode find !
Hop là ! J'ai un dernier problème avec la méthode que vous m'avez proposée. Voici le code correspondant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub Conduits_admission_air_BP()
Dim Sh1 As Worksheet, Sh2 As Worksheet, i As Integer, c As Range, d As Range
Set Sh1 = ThisWorkbook.ActiveSheet
Workbooks.Open Filename:="I:\DIM-DCT-MCDS\66536\uet_std\7_REVS\Maquette\Gammes de développement\DCT\01 - DMAM\Circuit air et carburant moteur\Gamme de développement - Conduits admission air BP (NR).xls"
Set Sh2 = ActiveWorkbook.ActiveSheet
For i = 1 To 1000
Set c = Sh1.Range("D157:D5346").Find(what:=Sh2.Range("E" & i), LookAt:=xlWhole)
If Not c Is Nothing Then
Set d = Sh1.Range("E157:E5346").Find(what:=Sh2.Range("G" & i), LookAt:=xlWhole)
If Not d Is Nothing Then
Sh2.Range("H" & i) = Sh1.Range("H" & c.Row)
End If
End If
Next i
End Sub |
Ca m'affiche une bonne grosse erreur "13" sur l'incompatibilité des types à la ligne suivante :
Code:
Set c = Sh1.Range("D157:D5346").Find(what:=Sh2.Range("E" & i), LookAt:=xlWhole)
Je crois avoir compris pourquoi : en gros , dans la colonne initiale (la D) où est faite la recherche, la même valeur (du texte, ici) se retrouve 2 fois dans deux cases différentes. On trouve donc 2 valeurs dans cette colonne D correspondant à celle de la colonne E. Il faudrait donc que la méthode Find arrête de chercher dans cette colonne D une fois qu'une valeur a été trouvée. J'ai jeté un oeil dans les paramètres de Find et j'ai pas trouvé mon bonheur.
Une petite idée pour me combler de bonheur? :lol: Merci encore !