Erreur 1004 "la formule que vous avez tapée contient une erreur"

Fermé
florian74 Messages postés 289 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 décembre 2019 - Modifié par florian74 le 31/08/2015 à 11:29
florian74 Messages postés 289 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 décembre 2019 - 4 sept. 2015 à 09:05
Bonjour,

Lorsque je lance ma macro, j'obtiens le message suivant :


Mon code semble pourtant bon... Ci dessous, la ligne qui fait défaut (le problème est sur la formule IF) :

Range("$B$5", Range("$B$" & fin)).Select
Names.Add Name:="Section1_ExtG", RefersToR1C1:= _
"=IF('Tableau de Bord Ligne 30'!R5C3 = TRUE,Instance!" & Selection.Address(ReferenceStyle:=xlR1C1) & ",'Tableau de Bord Ligne 30'!R1C1)"


Je tiens à préciser que lorsque je lance la macro pas à pas, je n'ai aucun message d'erreur... Et tout fonctionne.
Merci d'avance.
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
31 août 2015 à 16:30
Bonjour à tous

Pour donner un nom à ine plage de cellule

range(""A2:C45").name= "zaza"
1
florian74 Messages postés 289 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 décembre 2019 24
4 sept. 2015 à 09:05
Bonjour,
Le problème n'est pas de donner un nom... Ça concerne le RefersTo... Je souhaite y insérer une formule et ça ne fonctionne pas..
Merci
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
31 août 2015 à 14:05
Bonjour Florian, bonjour le forum,

En VBA la formule ne s'écrit pas pareil que dans l'onglet.
  • Lance l'enregistreur de macro
  • Écrit la formule dans une cellule de l'onglet
  • Arrête l'enregistreur de macro

Dans VBE (Visual Basic Editor) regarde le résultat. Utilise-le dans ton code...

0
florian74 Messages postés 289 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 décembre 2019 24
31 août 2015 à 14:18
Bonjour ThauTheme.

Merci pour ta réponse.
J'avais déja essayé l'enregistreur de macro et j'obtiens ceci :

ActiveWorkbook.Names.Add Name:="Supprimer", RefersToR1C1:= _
        "=IF('Tableau de Bord Ligne 30'!R5C3 = TRUE,Instance!R17C7,'Tableau de Bord Ligne 30'!R1C1)"
    ActiveWorkbook.Names("Supprimer").Comment = ""


Le plus curieux c'est que j'avais déjà écris des lignes comme celles dans mon premier post dans un ancien fichier et que tout marchait correctement...

Florian
0