[RESOLU] Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Floup972

XLDnaute Nouveau
Bonjour à tous,

Dans le cadre de mon boulot je bosse sur un fichier excel récupérant et traitant le carnet de commande.
J'ai un fichier dont les données proviennent de différentes table SQL (liens ODBC). Ces données sont traité via VBA (recherche, mise sous variable, calculs etc ... rien de bien méchant) et placées dans une feuille sous la fome d'une liste filtrée.

Jusque là pas de problème.

Ensuite j'ai voulu faire une SOMME ou un SOUS-TOTAL (somme) sur une colonne de cette liste. PROBLEME :mad:
Que je le fasse via VBA ou manuellement après ma macro, le résultat reste nul (=0)

Par contre si je double-click dans une des cellules (faisant parti de cette somme), la somme se met a jour et prend la valeur de la celulle que j'ai modifié :confused:

Je susi en calcul automatique, et le Calculer (F9) n'y change pas.

Quelqu'un a t-il une explication ?? et même une solution ?

Merci par avance.
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Bonjour Floup972 et bienvenue sur ce forum

Simplement, tes données importées sont du texte et non des nombres !

Pour palier à ce problème, il faut transformer le contenu en nombre
avec un truc du style
Code:
For Each Cel in Range("A2:G1000")
If IsNumeric(Cel) then Cel.Value = CDec(Cel)
Next Cel

A+
 

Gorfael

XLDnaute Barbatruc
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Salut Floup972 et le forum
Vraisemblablement tes données sont en format texte, et donc, Excel ne sait pas faire une somme de lettre.
Si tu double-clic sur une autre cellule, tu verras qu'il fait bien la somme de tes deux nombres.
Soit tu convertis tes chiffres en nombres avant de les inscrire, soit tu essaie de changer le format des cellules.
A+
 

R@chid

XLDnaute Barbatruc
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Bonjour et Bienvenu sur XLD,
pas facile de répondre sans fichier exemple sans données confidentielles...
tu peux essayer avec :
Code:
=SOMMEPROD(Plage*1)
sinon,
Aller en mode avancé ==> Gérer les pièces jointes
Amicalement

Edit : Salut Bruno, Salut Gorfael
 

Floup972

XLDnaute Nouveau
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Merci a tous de votre reactivité.

Les valeurs que je veux sommer sont des poids.

Mes variables sont de type Currency :
Code:
Dim Pdsmoule As Currency, Pdspiece As Currency

Voila comment j'inserts les valeurs en question :
Code:
                        Range("H" & Ligne + i).Value = Format(Pdspiece, "#0.00")              ' poids pièce
                        Range("I" & Ligne + i).Value = Format(Pdsmoule, "#0.00")              ' poids moule

Et les celulles qui recoivent ces valeurs sont au format Nombre ou Standard

Il faut que je repasse sur chacune des cellule (via VBA) avec le code suivant ?
Code:
For Each Cel in Range("A2:G1000")
 If IsNumeric(Cel) then Cel.Value = CDec(Cel)
 Next Cel

Que signifie CDec ?

Merci !
 
C

Compte Supprimé 979

Guest
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Re,

CDec() = conversion d'une chaine en nombre décimal

Tu peux trouver ça dans l'aide VBA à la rubrique : Fonctions de conversion de types de données

Sinon, essaye comme ceci
Code:
Range("H" & Ligne + i).Value = CDec(Pdspiece)
Range("H" & Ligne + i).NumberFormat = "#0.00"
Range("I" & Ligne + i).Value = Cedc(Pdsmoule)
Range("I" & Ligne + i).NumberFormat = "#0.00"

A+
 
Dernière modification par un modérateur:

Floup972

XLDnaute Nouveau
Re : Problème fonction SOMME ou SOUS-TOTAL sur données copiée via VBA

Re,

CDec() = conversion d'une chaine en nombre décimal

Tu peux trouver ça dans l'aide VBA à la rubrique : Fonctions de conversion de types de données

Sinon, essaye comme ceci
Code:
Range("H" & Ligne + i).Value = CDec(Pdspiece)
Range("H" & Ligne + i).NumberFormat = "#0.00"
Range("I" & Ligne + i).Value = Cedc(Pdsmoule)
Range("I" & Ligne + i).NumberFormat = "#0.00"

A+


Nikel BrunoM45, ca fonctionne.

Je pensais que le fait de choisir les bonnes variables suffisait.
Il faut quand-même veiller à convertir.

Merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 873
dernier inscrit
yayo