Macro Find. ne trouve pas la valeur exacte avec xlwhole
wuhrlinanthony
Messages postés
57
Statut
Membre
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
Bonjour,
J'ai deux onglets : 1 onglet avec un tableau de 12000 lignes avec des codes europe en vrac. 1 deuxieme onglet avec un tableau avec les code europe et les code chine a coté.
J'ai creer une macro find pour trouver le code europe correspondant dans les deux tableau et copier/coller le code chine dans le tableau de 12000 lignes a cote du code trouver. J'ai acjouter la fonction xlWhole dans la fonction Find. mais la macro ne me trouve pas la valeur exacte.
Voici mon code : (Le code chercher est un melange mde lettre, chiffes et caracteres speciaux)
Sub MACRO_2_ECDV_SPE()
Dim Trouve As Range
Dim PlageDeRecherche As Range
Dim Valeur_Chercher As Variant
For i = 5 To 12067
Valeur_Chercher = Sheets("Full_Process_Sheet_20161121").Cells(i, 9).Value
Set PlageDeRecherche = Sheets("Reference ECDV Code X74").Range("B6:B460")
Set Trouve = PlageDeRecherche.Find(Valeur_Chercher, Lookat:=xlWhole)
If Trouve Is Nothing Then
Else
Sheets("Full_Process_Sheet_20161121").Cells(i, 10) = Trouve.Offset(0, 1).Value ' Copy the ECDV Code specific China
End If
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
Next
End Sub
Le code est simpliste car je suis debutant en vba. Merci d'avance pour votre aide car je ne comprend pas l'erreur.
Anthony
J'ai deux onglets : 1 onglet avec un tableau de 12000 lignes avec des codes europe en vrac. 1 deuxieme onglet avec un tableau avec les code europe et les code chine a coté.
J'ai creer une macro find pour trouver le code europe correspondant dans les deux tableau et copier/coller le code chine dans le tableau de 12000 lignes a cote du code trouver. J'ai acjouter la fonction xlWhole dans la fonction Find. mais la macro ne me trouve pas la valeur exacte.
Voici mon code : (Le code chercher est un melange mde lettre, chiffes et caracteres speciaux)
Sub MACRO_2_ECDV_SPE()
Dim Trouve As Range
Dim PlageDeRecherche As Range
Dim Valeur_Chercher As Variant
For i = 5 To 12067
Valeur_Chercher = Sheets("Full_Process_Sheet_20161121").Cells(i, 9).Value
Set PlageDeRecherche = Sheets("Reference ECDV Code X74").Range("B6:B460")
Set Trouve = PlageDeRecherche.Find(Valeur_Chercher, Lookat:=xlWhole)
If Trouve Is Nothing Then
Else
Sheets("Full_Process_Sheet_20161121").Cells(i, 10) = Trouve.Offset(0, 1).Value ' Copy the ECDV Code specific China
End If
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
Next
End Sub
Le code est simpliste car je suis debutant en vba. Merci d'avance pour votre aide car je ne comprend pas l'erreur.
Anthony
A voir également:
- Vba find valeur exacte
- Trouver mon adresse exacte - Guide
- Find vba - Astuces et Solutions
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Find and mount - Télécharger - Récupération de données
3 réponses
Bonjour Anthony,
Ton erreur est : « Find. ne trouve pas la valeur exacte avec xlwhole ».
Tu as cette ligne de code :
Au lieu de xlWhole, je te propose de mettre xlPart :
Je ne suis pas entré dans le détail de ton code, mais j'espère que
ça règlera ton problème. Si oui, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Ton erreur est : « Find. ne trouve pas la valeur exacte avec xlwhole ».
Tu as cette ligne de code :
Set Trouve = PlageDeRecherche.Find(Valeur_Chercher, Lookat:=xlWhole)
Au lieu de xlWhole, je te propose de mettre xlPart :
Set Trouve = PlageDeRecherche.Find(Valeur_Chercher, Lookat:=xlPart)
Je ne suis pas entré dans le détail de ton code, mais j'espère que
ça règlera ton problème. Si oui, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Patrice33740
Messages postés
8930
Statut
Membre
1 780
Si il veut le code exact, il faut xlWhole !!!