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 :

Ecrire un point-virgule dans une formule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut Ecrire un point-virgule dans une formule
    Bonjour,

    Je veux écrire dans une cellule une formule du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(...;alors...;sinon...)
    .
    Le problème est que j'ai une erreur VBA
    Erreur d'exécution '1004': Erreur définie par l'application ou par l'objet
    .
    En fait, ça vient du fait qu'il y a des points-virgule dans ma formule, et que je ne peux les insérer.
    Comment faire pour écrire les points-virgule ?

    Cordialement,

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Peux tu nous faire voir le code que tu as utilisé

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    Le code est long et compliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.worksheets("data").Cells(Lig, 7).Formula = "=SI(ESTNUM(B" & Lig & ");SI(ESTNUM(C" & Lig & ");SI(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""md"")=0;(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""y"")*12) + DATEDIF(B2;(C" & Lig & " + 1);""ym"");(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""y"")*12) + DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""ym"") + 1);0);0)"
    En attendant, j'ai tester l'écriture d'un ; dans une cellule comme ça et ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.worksheets("data").Cells(Lig, 7).Formula = "=;"
    Mais si j'écris un simple ; qui n'est pas dans une formule en enlevant le =, je n'ai pas d'erreur.

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    utilise FormulaLocal à la place de Formula qui attend une formule au format anglais (If(a>1,oui,non))

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    Ok merci.
    Ca plante toujours en revanche.

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Erreur de code ou formule non correct?
    Si message d erreur lequel

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    L'erreur est
    Erreur d'exécution '1004': Erreur définie par l'application ou par l'objet.
    L'entête de la fenêtre d'erreur est Microsoft Visual Basic.

  8. #8
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Chez moi la ligne ci dessous ne pose pas de problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.worksheets("data").Cells(Lig, 7).FormulaLocal = "=SI(ESTNUM(B" & Lig & ");SI(ESTNUM(C" & Lig & ");SI(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""md"")=0;(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""y"")*12) + DATEDIF(B2;(C" & Lig & " + 1);""ym"");(DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""y"")*12) + DATEDIF(B" & Lig & ";(C" & Lig & " + 1);""ym"") + 1);0);0)"
    Quelle est la valeur de Lig chez toi.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Points : 44
    Points
    44
    Par défaut
    La valeur de Lig varie, elle commence à 2 et est incrémentée de 1. Bien sûr, ça plante à 2.

  10. #10
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    pas de plantage non plus avec lig = 2 chez moi

Discussions similaires

  1. Convertir le point par une virgule dans une textbox
    Par trentks95 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/04/2013, 13h58
  2. [XL-2007] Ecrire un produit dans une formule
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/12/2011, 11h20
  3. [Débutant] [VS2003] Point à la place d'une virgule dans une String
    Par ahmedige dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/07/2011, 15h17
  4. [PROC] Remplacer un point par une virgule dans une Proc Tabulate
    Par PAULOM dans le forum SAS Base
    Réponses: 2
    Dernier message: 20/08/2009, 08h36
  5. comment ecrire une variable dans une formule ?
    Par Djohn dans le forum Excel
    Réponses: 12
    Dernier message: 10/10/2007, 12h55

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