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

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 005
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
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089
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