Problème dans la macro

Bonjour à tous

Je suis entrain de rédiger un code pour permettre de comparer un numéro de devis dans une colonne d'un autre fichier excel.

Cela pour éviter d'avoir des doublons de numéro de devis dans la base.

La macro doit copier la valeur d'une cellule dans une feuille (le n° de devis) et par le biais de la fonction Find doit rechercher dans la colonne E dans un autre classeur excel si ce numéro existe déjà.

S'il n'existe pas, il continue de dérouler la macro, sinon il me met le msgbox et arrête la macro.

La pour le moment il me met le msgbox systématiquement peut importe le résultat de la recherche et arrête la macro.

Pouvez vous m'aider svp?

Ci-dessous la macro

Merci

Yoann

Application.ScreenUpdating = False

Sheets("Infos").Select

Range("C10").Select

Selection.Copy

nom = Application.GetOpenFilename("Suivi devis & commandes clients,*.xlsm")

Workbooks.Open nom

'Vérification du numéro de devis dans la base

Dim trouve As Range

Valeur_Cherchee = Workbooks("Base devis 2017 DITHER.xls").Sheets("Infos").Range("C10")

Set trouve = Workbooks("Suivi devis & commandes clients.xlsm").Range("E:E").Find(What = Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)

If Not trouve Is Nothing Then

GoTo suite

Else

ActiveWorkbook.Close SaveChanges:=False

MsgBox "Votre numéro de devis est déjà utilisée dans la base, veuillez le mettre à jour"

End If

Exit Sub

suite:

bonjour,

après le what tu dois mettre := et non pas simplement =, tu peux aussi ne pas mettre le what

Set trouve = Workbooks("Suivi devis & commandes clients.xlsm").Range("E:E").Find(What = Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)
Set trouve = Workbooks("Suivi devis & commandes clients.xlsm").Range("E:E").Find(Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)

Bonjour

Je crois aussi qu'il faut mettre cela :

If trouve Is Nothing Then
GoTo suite
Else

au lieu de cela:

If Not trouve Is Nothing Then
GoTo suite
Else

Bon courage

Cdlt

Bonjour à tous,

Dans un autre ordre d'idée, pourquoi n'incrémentes-tu pas automatiquement un numéro de devis à chaque devis émis, numéro du dernier devis que tu conserves à un emplacement fixe ? Tu n'aurais plus à le chercher !

Cordialement.

J'ai supprimé le "what" et le "not" et ça fonctionne nickel.

Merci beaucoup

@MFerrand, effectivement c'est une bonne idée. Je vais voir pour creuser cette solution. merci

Rechercher des sujets similaires à "probleme macro"