Problème $NOM? sur Excel 2003

Résolu/Fermé
SLM-BHY Messages postés 28 Date d'inscription vendredi 21 décembre 2012 Statut Membre Dernière intervention 7 mai 2015 - 21 déc. 2012 à 13:56
SLM-BHY Messages postés 28 Date d'inscription vendredi 21 décembre 2012 Statut Membre Dernière intervention 7 mai 2015 - 26 déc. 2012 à 10:20
Bonjour,

Je suis débutant sur VBA. Pour mon entreprise, j'ai du développer un programme qui actuellement fonctionne très bien sur mon ordinateur qui est en Excel 2007.

Le problème, c'est qu'au travail j'ai Excel 2003 et lorsque ma macro se lance j'ai que des #NOM? qui apparaissent dans mon tableau à la place de mes valeurs.

J'ai fait de nombreuse recherche, mais je ne parviens pas à trouver de solution.

J'éspère que quelqu'un pourra m'aider SVP.

Voici la parti du programme ou il devrait y avoir un problème (avec excel 2003).

Sub remplissageTab()
'
' remplissageTab Macro
'
Range("A2").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!RC),"""",Feuil1!RC),Feuil1!RC)"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A58"), Type:=xlFillDefault

Range("F2").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[57]C[-5]),"""",Feuil1!R[57]C[-5]),Feuil1!R[57]C[-5])"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F58"), Type:=xlFillDefault

Range("A59").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[57]C),"""",Feuil1!R[57]C),Feuil1!R[57]C)"
Range("A59").Select
Selection.AutoFill Destination:=Range("A59:A115"), Type:=xlFillDefault

Range("F59").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[114]C[-5]),"""",Feuil1!R[114]C[-5]),Feuil1!R[114]C[-5])"
Range("F59").Select
Selection.AutoFill Destination:=Range("F59:F115"), Type:=xlFillDefault

Range("A116").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[114]C),"""",Feuil1!R[114]C),Feuil1!R[114]C)"
Range("A116").Select
Selection.AutoFill Destination:=Range("A116:A172"), Type:=xlFillDefault

Range("F116").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[171]C[-5]),"""",Feuil1!R[171]C[-5]),Feuil1!R[171]C[-5])"
Range("F116").Select
Selection.AutoFill Destination:=Range("F116:F172"), Type:=xlFillDefault

Range("A173").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[171]C),"""",Feuil1!R[171]C),Feuil1!R[171]C)"
Range("A173").Select
Selection.AutoFill Destination:=Range("A173:A229"), Type:=xlFillDefault

Range("F173").FormulaR1C1 = _
"=IFERROR(IF(ISBLANK(Feuil1!R[228]C[-5]),"""",Feuil1!R[228]C[-5]),Feuil1!R[228]C[-5])"
Range("F173").Select
Selection.AutoFill Destination:=Range("F173:F229"), Type:=xlFillDefault




<config>Windows XP / Firefox 16.0 / Excel 2003
A voir également:

4 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 009
21 déc. 2012 à 14:16
Bonjour,

Je ne suis pas un pro d'Excel, mais il me semble que tu as une version française (puisque l'erreur est #NOM?), alors que tu lui donnes des fonctions anglaises, qu'il ne comprend pas.

IFERROR => ESTERREUR
IF => SI
ISBLANK => ESTVIDE

C'est la magie d'Excel...

Xavier
0
SLM-BHY Messages postés 28 Date d'inscription vendredi 21 décembre 2012 Statut Membre Dernière intervention 7 mai 2015
21 déc. 2012 à 15:41
Bonjour Reivax,

En fait j'ai déjà programmé directement sur excel 2003 et j'ai utilisé if et sa marche sans problème. Aprés pour le Iferror je ne sais pas car c'est la 1ere fois que je l'utilise (en sachant que mon Excel 2007 est en français lui meme et que le programme fonctionne nikel).
0
eriiic Messages postés 24560 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 février 2024 7 204
Modifié par eriiic le 21/12/2012 à 18:00
Bonjour,

sierreur() n'existe pas sur 2003, utilise une combinaison si(esterreur(...);si vrai; si faux)

Et à la place de .FormulaR1C1 tu peux utiliser .formulaLocal qui permet d'avoir les formule en français et en référence A1 dans le code.
Beaucoup plus lisible. Tu prépares et testes ta formule sur la feuille et tu la copie-colles dans le code.

Et si tu connais ta plage mets directement ta formule dedans. Ex:
[B2:B5].FormulaLocal = "=SOMME($A$1:A2)"

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
SLM-BHY Messages postés 28 Date d'inscription vendredi 21 décembre 2012 Statut Membre Dernière intervention 7 mai 2015
26 déc. 2012 à 10:20
Effectivement je viens de modifier mon sierreur() et cela fonctionne correctement.

Merci Beaucoup :D.
0