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

VB.NET Discussion :

Formule à entrer dans une cellule Excel via VB.NET


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Par défaut Formule à entrer dans une cellule Excel via VB.NET
    Hello tout le monde,

    Je suis actuellement sur un programme VB.NET et j'aimerais insérer la formule suivante dans une cellule : "=STXT(A1;"aaaa/mm/jj").
    En A1 j'ai une date sous la forme "jj/mm/aaaa"que j'aimerais récupérer sous format texte "aaaa/mm/jj" (idem en B1 avec une heure)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monXl.ActiveWorkbook.ActiveSheet.Range("P1").value = "aaaa/mm/jj"
    monXl.ActiveWorkbook.ActiveSheet.Range("P2").value = "=TEXTE(A2;P1)"
    Et j'ai une erreur du type:
    "An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.VisualBasic.dll
    Additional information: Exception from HRESULT: 0x800A03EC"
    Initialement J'ai essayé ça aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monXl.ActiveWorkbook.ActiveSheet.Range("P2:P" & 180).Formula = "=TEXTE(A2;""aaaa/mm/jj"")"
    mais rien à faire, je suis toujours bloqué..

    J'ai commencé le VB.Net il y a quelques jours, néammoins j'ai effectué beaucoup de recherches sur google mais je n'ai pas trouvé de réponse, si quelqu'un a déjà rencontré ce problème ça serait cool, merci d'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par maki17 Voir le message
    Et j'ai une erreur du type:
    "An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.VisualBasic.dll
    Additional information: Exception from HRESULT: 0x800A03EC"
    Aurais-tu une version différente entre ton Excel et ton interop?

    Pour info : http://www.developpez.net/

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Par défaut
    C'est fort possible, car c'est pas la première fois que je vois des erreurs liés à Interop dans mon programme.
    Mais du coup je vois pas comment faire, parce que si j'ai bien compris c'est un problème de registre ?
    Sachant que je code avec Visual Studio 2013 et ma version d'office date de 2010

    Merci pour ta réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par maki17 Voir le message
    Mais du coup je vois pas comment faire, parce que si j'ai bien compris c'est un problème de registre ?
    Sachant que je code avec Visual Studio 2013 et ma version d'office date de 2010
    La version de Visual Studio n'importe pas ici. Il faudrait que tu regardes dans les propriétés de ta référence "Microsoft.Office.Interop.Excel". Tu devrais avoir des infos sur la version d'Excel associée et ainsi voir si c'est la même que le fichier que tu souhaites manipuler.

  5. #5
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Bonjour,
    A la base Formula en Vba prends les paramètres de formule en Anglais soit TEXTE deviens TEXT et aaaa/mm/jj deviens donc yyyy/mm/dd le ; deviens ,
    si tu veux une formule en francais c'est FormulaLocal à utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monXl.ActiveWorkbook.ActiveSheet.Range("P2:P" & 180).Formula = "=TEXT(A2,""yyyy/mm/dd"")"

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monXl.ActiveWorkbook.ActiveSheet.Range("P2:P" & 180).Formulalocal = "=TEXTE(A2;""aaaa/mm/jj"")"
    j’espère que l'un ou l'autre fonctionnera
    cdt

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Même si les réponses données plus haut donnent d'intéressantes pistes de recherche, je vais en rajouter une plus "universelle"

    Un truc qui marche souvent avec les messages d'horreur de MS.

    1) TU vas sur http://msdn.microsoft.com
    2) tu cliques sur la loupe du moteur de recherche en haut à droite
    3) tu cherches en utilisant le numéro de l'erreur.

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 13h02
  2. [XL-2010] Rendre invisible une formule personnelle dans une cellule Excel
    Par sebkem dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/07/2015, 15h36
  3. Formules imbriquées dans une cellule Excel
    Par Mathsdeb dans le forum Excel
    Réponses: 8
    Dernier message: 15/02/2015, 20h53
  4. Réponses: 7
    Dernier message: 14/03/2014, 13h39
  5. Réponses: 2
    Dernier message: 22/04/2007, 14h27

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