IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro qui insère une formule avec un renvoi d'erreur [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par défaut Macro qui insère une formule avec un renvoi d'erreur
    Bonjour à vous tous,

    Je vais avoir besoin de vos lumières car la macro que j'utilisais et qui fonctionnait à décidé de ne plus fonctionner du jour au lendemain.
    Je vais essayer d'etre clair mais c'est pas mon fort...
    En fait, pour résumer, je compile deux fichiers excel (current.xlsx / receive.xlsx) que j'extrais d'une bdd pour en sortir un tableau croisé dynamique.
    Dans cette macro (Open order) je suis obligé de retravailler certaines colonnes dates à cause du format qui est buggé et c'est là que ça ne fonctionne plus, j'applique une formule avec ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("AO1").Select
        ActiveCell.FormulaR1C1 = "Format Ship By Date"
        Range("AO2").Select
        ActiveCell.FormulaR1C1 = "=IF(NBCAR(RC[-17])=16,0,1)"
        Range("AO3").Select
    La ça me retourne une erreur " La formule contient du texte non reconnu" alors que si je vais dans mon fichier et que je valide en appuyant sur entrée là ça me le prend en compte.
    Ca me le fait pour les deux premières colonnes et bizarrement après ça se remet à marcher.... Je ne sais pas comment l'expliquer.

    Si quelqu'un de vous aurait une solution, ça m'eviterait de devoir faire des manips pendant l'execution de la macro...

    Je vous remercie.
    Très bonne journée.

    Cervo!se
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je n'ouvre jamais de classeur tiers et n'ai donc ouvert aucun de tes trois classeurs.

    La propriété Formula utilise la notation anglaise. NBCAR est une fonction en notation française. La correspondance de NBCAR en notation anglaise est LEN

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par défaut
    Bonjour unparia,

    Merci pour votre réponse et donc oui en effet en remplaçant par LEN je n'ai plus ce renvoi d'erreur donc déjà un gros merci.
    Il me semblait pourtant avoir testé... Bon déjà une bonne chose de réglée.

    Donc maintenant autre souci (c'était le cas avant aussi) c'est que sur les deux premières colonnes que je crée, la formule ne se duplique pas sur la colonne entière.
    Ca me demande "d'écraser toutes les cellules de cette colonne contenant cette formule" pour les afficher, j'imagine que là le souci n'est plus sous vba mais peut être sur ma feuille ?

    Pourtant la syntaxe est la même sur tous mes ajouts de colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     Range("AO1").Select
        ActiveCell.FormulaR1C1 = "Format Ship By Date"
        Range("AO2").Select
        ActiveCell.FormulaR1C1 = "=IF(LEN(RC[-17])=16,0,1)"
        Range("AO3").Select
     
        Range("AP1").Select
        ActiveCell.FormulaR1C1 = "SHIP BY MONTH" 'OLD SHIP BY DAY
        Range("AP2").Select
        ActiveCell.FormulaR1C1 = _
        "=IFERROR(MID(RC[-18],SEARCH(""M"",RC[-18],1)-18,2),LEFT(TEXT(RC[-18],""MM""),10))"
        Range("AP3").Select
     
        Range("AQ1").Select
        ActiveCell.FormulaR1C1 = "SHIP BY DAY" 'OLD SHIP BY MONTH
        Range("AQ2").Select
        ActiveCell.FormulaR1C1 = _
        "=TEXT(IFERROR(MID(RC[-19],1,SEARCH(""/"",RC[-19],1)-1),LEFT(TEXT(RC[-19],""JJ""),10)),""00"")"
        Range("AQ3").Select
     
        Range("AR1").Select
        ActiveCell.FormulaR1C1 = "SHIP BY YEAR"
        Range("AR2").Select
        ActiveCell.FormulaR1C1 = _
        "=TEXT(IFERROR(MID(RC[-20],SEARCH("" "",RC[-20],1)-4,4),LEFT(TEXT(RC[-20],""AAAA""),10)),""00"")"
        Range("AR3").Select
     
        Range("AS1").Select
        ActiveCell.FormulaR1C1 = "SHIP BY DATE"
        Range("AS2").Select
        ActiveCell.FormulaR1C1 = "=DATE(RC[-1],RC[-3],RC[-2])"
        Range("AS3").Select
     
        Range("AT1").Select
        ActiveCell.FormulaR1C1 = "Format Due Date"
        Range("AT2").Select
        ActiveCell.FormulaR1C1 = "=IF(LEN(RC[-24])=16,0,1)"
        Range("AT3").Select
     
        Range("AU1").Select
        ActiveCell.FormulaR1C1 = "DUE MONTH" 'OLD DUE DAY
        Range("AU2").Select
        ActiveCell.FormulaR1C1 = _
        "=IFERROR(MID(RC[-25],SEARCH(""M"",RC[-25],1)-18,2),LEFT(TEXT(RC[-25],""MM""),10))"
        Range("AU3").Select
     
        Range("AV1").Select
        ActiveCell.FormulaR1C1 = "DUE DAY" 'OLD DUE MONTH
        Range("AV2").Select
        ActiveCell.FormulaR1C1 = _
        "=TEXT(IFERROR(MID(RC[-26],1,SEARCH(""/"",RC[-26],1)-1),LEFT(TEXT(RC[-26],""JJ""),10)),""00"")"
        Range("AV3").Select
     
        Range("AW1").Select
        ActiveCell.FormulaR1C1 = "DUE YEAR"
        Range("AW2").Select
        ActiveCell.FormulaR1C1 = _
        "=TEXT(IFERROR(MID(RC[-27],SEARCH("" "",RC[-27],1)-4,4),LEFT(TEXT(RC[-27],""AAAA""),10)),""00"")"
        Range("AW3").Select
     
        Range("AX1").Select
        ActiveCell.FormulaR1C1 = "DUE DATE"
        Range("AX2").Select
        ActiveCell.FormulaR1C1 = "=DATE(RC[-1],RC[-3],RC[-2])"
        Range("AX3").Select
    En tout cas merci de votre aide.
    Cervo!se

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Donc maintenant autre souci
    Désolé, mais je refuse personnellement de traiter deux sujets dans la même discussion. Question de principe.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par défaut
    Bonjour,

    Ce n'est pas totalement un autre sujet étant donné que c'est un autre problème sur le même bout de code.
    En tout cas, merci encore pour votre aide.

    Cervo!se

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/06/2013, 09h42
  2. [XL-2003] Ecrire une formule avec "" via une macro
    Par gbbtt dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/06/2012, 16h18
  3. [XL-2007] Macro pour récupérer la valeur d'une formule avec Aujourd'hui
    Par patougaffou dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 28/09/2009, 18h28
  4. [Macro Excel] Fonction qui calcule une formule dans une cellule
    Par Enthau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2008, 16h31
  5. [VBA] Macro qui envoie une formule dans une cellule
    Par Okoss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 22h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo