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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut automationn excel, Champ nombre reste en text ???

    Re bonjour,
    j'exporte via une automation des données dans un classeur excel. Puis avec du code
    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
    MonFichier = "PREVTRESTIB.xls"
     
    'Ouvre l'application Excel
    Set MonXL = CreateObject("Excel.Application") 'Ceci initialise la variable et charge Excel en arrière plan
    MonXL.Visible = True 'Rend Excel visible...
    MonXL.UserControl = True
     
    'Ouvre MonFichier
    MonXL.Workbooks.Open fileName:="C:\PROJET_MAT\" & MonFichier
     
    MonXL.Sheets("BESOIN").Select
     
    'Copie les valeurs
    'MonXL.Range("A2").Value = Champ1 'Envoie le contenu du ou des textboxes dans la ou les cellules
    ...
    Mais données son exporter sous format texte. POur que mon classeur marche , il faut que je les convertissent en nombre à la main . Est ce possible de le faire automatiquement ?
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  2. #2
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : février 2003
    Messages : 576
    Points : 719
    Points
    719

    Par défaut

    Tu es sûr que ça fonctionne pas comme ça ? si Champ1 contient une valeur numérique, Excel le prend bien en numérique et non en texte, ainsi tu pourras soustraire, additionner, ...
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Citation Envoyé par Morsi
    Tu es sûr que ça fonctionne pas comme ça ? si Champ1 contient une valeur numérique, Excel le prend bien en numérique et non en texte, ainsi tu pourras soustraire, additionner, ...
    Justement champ1 contient pas une valeur numérique, il contient le résultat d'une requete que je passe en paramêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     rs.Open "SELECT Sum(JALON.JALMONTANTTOTAL) AS TOTAL ... 
            If rs.EOF = True Then
            champ1= " "
            Else
          champ1= rs!TOTAL
    Donc il le transforme en texte et quand je le mets dans excel , les valeurs s'affiche mais avec un icone en haut à droite qui me dit transformer en nombre. C justement ce que je veux eviter. Je veux que l'utilisateur ne fasse pas cette petite manipulation
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  4. #4
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : février 2003
    Messages : 576
    Points : 719
    Points
    719

    Par défaut

    utilise une fonction de conversion alors, CInt ou Cdbl, je ne suis pas sûr si le résultat sera adéquat, test et regarde un peu l'aide d'Access sur ces 2 fonctions.
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    J'ai essayer les deux et j'ai erreur de compatibilité de typre. Donc ca doit pas etre cela !!!
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  6. #6
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : février 2003
    Messages : 576
    Points : 719
    Points
    719

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    rs.Open "SELECT Sum(JALON.JALMONTANTTOTAL) AS TOTAL ... 
            If rs.EOF = True Then 
            champ1= " " 
            Else 
          champ1= rs!TOTAL
    je ne comprend pas trés bien ton test
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Si mon champ est vide ca evite une erreur, mais bon ca ca marche c plutot l'automatisation du convertir en nombre à la main que je cherche à stocker.

    C vrai que je suis pas trop sur que je fais rapide avec mon test !!!
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  8. #8
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : février 2003
    Messages : 576
    Points : 719
    Points
    719

    Par défaut

    bon, je ne sais pas si c'est fin de semaine ou c'est moi !! tu teste sur le recordset ? c'est bien ça ? si c'est la fin ? alors que ton recordset retourne une somme et en plus avant d'exporter tes données en texte et ensuite les convertir en nombre, tu peux convertir et ensuite exporter dans excel !!! donc si vide (comme tu le dis) tu met un 0 et non un " ".
    je ne sais si je suis assez clair
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Je viens de penser à un truc , mon erreur vient peut étre de la : je declare ma variable en string, mieux vaut que je la declare en nombre

    Dim mois9_CHEQUES As String
    remplacer par
    Dim mois9_CHEQUES As Number
    Mais declaration d'un nombre c comment car c pas number
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Citation Envoyé par Morsi
    bon, je ne sais pas si c'est fin de semaine ou c'est moi !! tu teste sur le recordset ? c'est bien ça ? si c'est la fin ? alors que ton recordset retourne une somme et en plus avant d'exporter tes données en texte et ensuite les convertir en nombre, tu peux convertir et ensuite exporter dans excel !!! donc si vide (comme tu le dis) tu met un 0 et non un " ".
    je ne sais si je suis assez clair
    Oula je t'arrette , tu t'acharne sur ma boucle mais c pas la qu'il faut regarder

    c ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    MonFichier = "PREVTRESTIB.xls" 
     
    'Ouvre l'application Excel 
    Set MonXL = CreateObject("Excel.Application") 'Ceci initialise la variable et charge Excel en arrière plan 
    MonXL.Visible = True 'Rend Excel visible... 
    MonXL.UserControl = True 
     
    'Ouvre MonFichier 
    MonXL.Workbooks.Open fileName:="C:\PROJET_MAT\" & MonFichier 
     
    MonXL.Sheets("BESOIN").Select 
     
    'Copie les valeurs 
    'MonXL.Range("A2").Value = Champ1 'Envoie le contenu du ou des textboxes dans la ou les cellules
    Champ1 c un nombre logiquement, et apres l'envoie dans excel il redevient texte et moi je veux pas de ca.
    Or je viens dans le opst d'avant de remarquer que dans mes declaration je dis dim Champ1 as string. Donc c à ce moment la que je fais l'erreur de le remettre en format texte.
    J'essaye donc de déclarer ma variable Champ1 en nombre
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  11. #11
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : février 2003
    Messages : 576
    Points : 719
    Points
    719

    Par défaut

    pour commencer, met juste ça:
    et pour information sur les types il suffit d'explorer l'aide ou l'assistant de code quant tu fait As (nombre = Integer)
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Quand je metcela, Dim mois9_CHEQUES : il me renvoie dans excel du texte
    Qd je mets Dim mois9_CHEQUES as integer il me dire incompatibilité de type,
    Alors je sais plus quoi faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    et pour information sur les types il suffit d'explorer l'aide ou l'assistant de code quant tu fait As (nombre = Integer)
    j'avasi deja fait
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  13. #13
    Rédacteur
    Avatar de sinarf
    Homme Profil pro
    Inscrit en
    octobre 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : octobre 2002
    Messages : 210
    Points : 493
    Points
    493

    Par défaut

    Je te conseille de consulter les cours Visual Basic presentes sur le site en bas tu as 2 tutos.
    En particulier, l'exellent Programmer efficacement avec Excel en VBA (pdf, 46 pages, 711 Ko)

  14. #14
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    5 465
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : septembre 2003
    Messages : 5 465
    Points : 12 297
    Points
    12 297

    Par défaut

    Pour changer le format d'une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonXL.Range("A2").numberformat ="0"

  15. #15
    Futur Membre du Club
    Inscrit en
    juillet 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : juillet 2003
    Messages : 4
    Points : 5
    Points
    5

    Par défaut

    Salut tout le monde,
    j'ai egalement le meme probleme, en effet je fais une requete qui me sort une quantite de pieces consommées par fournisseur en gros ça fait ça:

    Nom_Fournisseur | Qte
    ____________________

    Four1 |10
    Four2 |20

    etc....

    et lorsque je copie les données de cette requete dans excel, sur toutes les valeurs j'ai ce message qui dit que les nombres sont stockés sous forme de texte donc traitement impossible.
    Pour cela je suis obligé de convertir toutes les colonnes a la main.
    Ce que je comprends pas c'est que dans ma requete tous mes champs sont des entiers!!!

    Est ce que vous auriez des infos sur ça?

    Merci
    Dans la vie, il ne sert rien d'ecraser les autres pour avancer, il vaut mieux leur demander de l'aide afin qu'ils vous accompagne au sommet.
    O.W

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    J'ai essayer ca et lu ca :
    Citation Envoyé par Arkham46
    Pour changer le format d'une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonXL.Range("A2").numberformat ="0"
    Je te conseille de consulter les cours Visual Basic presentes sur le site en bas tu as 2 tutos.
    En particulier, l'exellent Programmer efficacement avec Excel en VBA (pdf, 46 pages, 711 Ko)
    Mais rien à faire.
    Je dois trouver avant ce soir et la vous êtes mon dernier recours !!
    Je prie et je cherche !!
    Merci [/code]
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 50
    Points : 32
    Points
    32

    Par défaut

    Citation Envoyé par Morsi
    utilise une fonction de conversion alors, CInt ou Cdbl, je ne suis pas sûr si le résultat sera adéquat, test et regarde un peu l'aide d'Access sur ces 2 fonctions.
    J'ai trouver. Merci Morsi, tu avais raison. Pourtant j'avais tester mais je me souviens plus je l'ai peut être fais au mauvaise endroit

    Je renvoyer du texte car ma requête selectionner un champ texte.

    Avec la fonction INT ca evite cela.
    Ma requête est donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT int(Sum(JALON.JALMONTANTTOTAL)) AS TOTAL, ...
    Merci, vraiment grand merci
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/06/2014, 15h29
  2. Export excel nombre stockés comme texte
    Par djanke dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2010, 02h39
  3. EXCEL : Trier nombre + texte
    Par dahbiazran dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/08/2010, 10h19
  4. Excel:probleme pour transformer du texte en nombre par macro
    Par pcheval dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2005, 22h18
  5. [c#]Champs de saisie de texte
    Par Verboz dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/05/2005, 15h01

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