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 :

la fonction worksheetfunction.sum ne marche pas


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    faculté
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : faculté
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Par défaut la fonction worksheetfunction.sum ne marche pas
    Bonjour et avant tous merci pour votre temps,

    j'ai un fichier qui contient des données correspond à des véhicules (date,heure,Véhicule,num,volume... etc)
    tout d'abord j'ai fait le regroupement des lignes de ce fichier par véhicule (c'est à dire matricule) et une fois la matricule change j'ajoute une nouvelle ligne qui va contenir la somme des cellules de chaque colonne(voir image).

    Nom : test.PNG
Affichages : 948
Taille : 46,3 Ko

    voilà la partie du macro qui fait ça:

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("F" & j) = WorksheetFunction.Sum(Range(Range("F" & K), Range("F" & j - 1)))
    Range("G" & j) = WorksheetFunction.Sum(Range(Range("G" & K), Range("G" & j - 1)))
    Range("I" & j) = WorksheetFunction.Sum(Range(Range("I" & K), Range("I" & j - 1)))
    mon problème est le suivant de la colonne G "volume" comme vous voyez les données viennent avec des virgule (46,20/51,20...) et la fonction WorksheetFunction.Sum ne le traite pas comme étant des doubles; alors j'aurai des problèmes au niveau des résulta.

    • Est ce que c'est possible d'avoir une solution sans passer par la modification des données ( remplacer ',' par '.') ?????

  2. #2
    Membre émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    Bonjour,

    pour le remplacement des virgule par point, vous pouvez le faire à partir de l'enregistreur de macros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Range("A1:A100").Select
        Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    A adapter bien sur
    merci

  3. #3

  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
    Bonjour
    La lecture de ton code me laisse perplexe, Nicolas JACQUIN
    Si tu penses que (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("G" & j) = WorksheetFunction.Sum(Range(Range("G" & K), Range("G" & j - 1)))
    te retourne la somme des valeurs de la colonne G, de la ligne K à la ligne j-1, tu es dans une erreur fondamentale !
    Ne pas confondre la plage résultant de plages séparées par un "," avec la plage résultant de plages séparées par un ":". Ce n'est pas du tout du tout du tout du tout la même chose !
    Ouvre donc tout simplement ton aide VBA à la rubrique Worksheetfunction.Sum, lis et (surtout) applique.

Discussions similaires

  1. [MySQL] fonction delete qui ne marche pas
    Par bassiste dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 10/05/2008, 01h58
  2. VBA Access : Fonction find qui ne marche pas
    Par leeloo35 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/02/2008, 17h56
  3. Réponses: 18
    Dernier message: 07/10/2007, 00h03
  4. requete SQl avec la fonction max () qui ne marche pas
    Par eclipse012 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 15h32
  5. fonction clic multiple ne marche pas !
    Par decksroy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/10/2006, 11h55

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