Excel 07; Formules, erreur et macro

Résolu/Fermé
ice_dj03 Messages postés 12 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 23 février 2009 - 24 avril 2008 à 16:08
 ice_dj03 - 26 avril 2008 à 13:41
Bonjour,

La colle du jour pour moi c'est la suivante :

Mon code excel me permet en fait a l'aide d'un USForm de scanner un Gencod, 13 caractères.

celui ci est copié dans la cellule A1 de ma fiche de produit

les cellules B1, C1, D1 et E1 se remplissent grace a A1 a l'aire d'une fonction recherchev

Mon problème, c'est que lorsque je scanne un gencod encore inconnu, A1 se remplie coorectement mais les cellule de B1 a E1 prenne "en apparence" la valeur #N/A

Hors, je récupère la valeur de chacune des cellules pour l'USForm qui arrive juste après, en me demandant des informations sur le produit scanné.

Call FicheGencod 'envoi le gencod dans ma variable VarGencod, et si j'apuie sur ok, VarTest = 1
If VarTest = 1 Then 'VarTest = 1 donc on a validé avec Ok et la cellule A1 de ma fiche produit prend la valeur du gencod

USFFicheProduit.TextBox1.Value = Sheets("FichierProduit").Range("B1").Value
USFFicheProduit.TextBox2.Value = Sheets("FichierProduit").Range("C1").Value
USFFicheProduit.ComboBox1.Value = Sheets("FichierProduit").Range("D1").Value
USFFicheProduit.ComboBox8.Value = Sheets("FichierProduit").Range("E1").Value

ElseIf VarTest = 0 Then

Exit Sub

End If


Si mon gencod est connu, mon USForm se remplie sans aucun problème, mais quand il n'est pas connu, la cellule marque donc l'erreur #N/A, et me fou en vrac tout mon programme...

Si quelqu'un peu "HELP ME", ce serai trop cool !

bon courage brave programmeurs!!
A voir également:

3 réponses

zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
24 avril 2008 à 16:20
Bonjour,

Et si tu modifais les formules de tes cellules B1 à E1 du style :

si (ESTNA(vrecherche(....)) = vrai;"Inconnu";vrecherche(....))

Je sais que c'est un peu bourrin mais cela devrait marcher.

Ou alors tu testes la valeur de ta cellule avant de l'affecter dans ta macro. Mais je ne sais quelle est la valur d'une cellule N#A
0
ice_dj03 Messages postés 12 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 23 février 2009
24 avril 2008 à 16:26
re, ma formule actuelle de ma cellule B1 par exemple c'est :

=SI(A1="";"";RECHERCHEV(A1;$A$4:$E$11;2;FAUX))

peut tu me dire exactement ce qu'il faudrai mettre pour que #N/A ne s'aafiche plus et que ca mette rien, comme ca après je peut mettre un condition

if not "B1" = "" then...

Qure si B1 est vide il passe a la suite sans se preoccuper d'initialiser mon USForm

en fait, je voudrais juste que tu developpe la formule dont tu parle au dessus, je suppose que ca sert a ca

merci beaucoup
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
24 avril 2008 à 16:37
=SI(A1="";"";SI(ESTNA(RECHERCHEV(A1;$A$4:$E$11;2;FAUX)) = VRAI;"GENCOD Inconnu";RECHERCHEV(A1;$A$4:$E$11;2;FAUX))
0
Merci, ta formule est impeccable pour moi, je crois que ma matrice touche a sa fin, merci encore a tous ceux qui m'ont apporté une aide très précieuse.

bonne continuation

cdlt
0