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 :

Format numérique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut Format numérique
    Bonjour,

    J'ai un tableau Excel, comprenant une colonne avec des nombres entiers, cette colonne est au format numérique, sans décimal avec séparateur de milliers.

    Dans une autre colonne, je met des formule tout simple du style SOMME(D1;D2), et il me met 0 au lieu de faire la somme.

    Apparamment le problème viens du séparateur de millier, car quand je supprime le blanc à la main dans les cellule concernés, la somme se fait bien.

    Y à t-il un moyen de régler ce problème ? Car ma colonne de nombresest rempli par une macro qui met systématiquement le séparateur de milliers.

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ce n'est pas un problème d'affichage, car le calcul se fera tout seul. C'est que la macro convertit le chiffre en texte.

    Essayes cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(CNUM(D1);CNUM(D2))
    Starec

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Merci de ton aide mais ca ne marche toujours pas il met met !VALEUR! dans la cellule.

    Quand je supprime à la main le blanc qui sépare les millier dans D1 et D2 la somme se refait bien.

    Mes cellule D1 et D2 restent bien au format numérique, dans la macro je l'ai même rajouté en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets(1).Cells(lig, 4).NumberFormat = "0"
    Worksheets(1).Cells(lig, 4) = valeur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    C'est bizarre ton truc, je n'arrive pas à produire un comportement similaire.

    Qu'est-ce que valeur ?


    Starec

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    C'est une valeur numérique lue dans un fichier, des nombres entiers à 5 ou 6 chiffres.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Fais une conversion en numérique avant de les mettre dans les cellules pour voir, et non avec le formatage de la cellule.

    Starec

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut format numérique
    Bonjour,

    J'ai une macro qui lis un fichier, pour chaque enregistrement, je récupère un compteur statistique par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat = Mid(enr, 22, 10)
    J'ai donc une variable numérique sur 10 positions.
    Puis je renseigne une colonne que je met au format numérique par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets(1).Cells(lig, 4).NumberFormat = "0"
    Worksheets(1).Cells(lig, 4) = valeur
    Mon problème est que la colonne se renseigne bien, mais avec un séparateur de millier (espace) alors quand je coche et décoche le séparateur de millier avec le générateur de macro il me génère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'séparateur de milliers coché
    Selection.NumberFormat = "#,##0"
     
    'séparateur de millier décoché
    Selection.NumberFormat = "0"
    J'ai donc bien choisit décoché et pourtant il me met un espace en générateur de millier, par contre si après l'exécution de la macro je vais voir le format des cellules, il est également décoché, c'est à n'y rien comprendre.

    En fait, le séparateur de millier me gène pas, j'aurais même préfére, mais ca me génère un autre problème sur une simple fonction Excel SOMME(D1;D2) qui ne marche pas quand il y a un espace, second problème qui me parais bizarre.

    Si quelqu'un à une explication merci d'avance

  8. #8
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Pourquoi tu veux mettre la cellule dans un certain format ? pourquoi tu met pas la colonne directement dans le format que tu veux ?

    Si, quand tu met ta valeur tu met un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(lig,4).value = valeur
    ça sera bon je pense
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    C'est ce que j'avais au début, mais il me met systématiquement un espace pour séparer les milliers, même si la colonne est au bon format, ce qui provoque un problème avec la fonction SOMME, donc j'ai essayé de le forcer, sans succès

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si tu mets
    SOMME(D1;D2)
    ça ne peut pas fonctionner... Et si tu metsça ne fonctionne toujours pas ?
    Si c'est une erreur dans ton premier post, tu dis... avant qu'on cherche plus loin
    A+

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Non c'est pas une erreur, les deux points c'est pour un interval, et moi je veux la somme de plusieurs cellule spécifique du style SOMME (D1;D3;D10) je crois que le points virgule est la bonne syntaxe pour faire ca.

    Même avec un interval ca marche pas, c'est le séparateur de millier (espace) qui pose problème.

    Et j'arrive pas à l'enlever par la macro

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

Discussions similaires

  1. Conversion format numérique/caractère
    Par Laverdure_mt dans le forum Access
    Réponses: 1
    Dernier message: 16/08/2006, 14h49
  2. Réponses: 4
    Dernier message: 09/06/2006, 09h33
  3. Format numérique
    Par viscere dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 03/05/2006, 14h45
  4. Format numérique
    Par _developpeur_ dans le forum Access
    Réponses: 7
    Dernier message: 04/01/2006, 11h19
  5. Réponses: 2
    Dernier message: 21/06/2005, 16h37

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