Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1030 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Sommer une cellule contenant plusieurs valeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sommer une cellule contenant plusieurs valeurs

n°1864452
deca2
Posté le 22-03-2009 à 10:08:34  profilanswer
 

Bonjour, plusieurs heures que je cherche pourtant au début cela me paraissait simple.
J'ai un programme VBA qui ajoute dans une cellule, des valeurs séparées par des retour à la ligne (matérialisé par "chr(10)" ).
Donc dans une cellule j'ai plusieurs montant.
Cette opération est répétée sur plusieurs cellules de la même colonne.
A la fin de cette colonne je veux faire une somme de tous ces montants.
Ben ça a l'air bête mais je n'y arrive pas. Comme faire comprendre à Excel en langage VBA de sommer chaque montant qui sont présent dans la cellule séparée par des chr(10) ?
Si quelqu'un a une idée...
Merci d'avance, je continue à chercher.
 
Bon dimanche

mood
Publicité
Posté le 22-03-2009 à 10:08:34  profilanswer
 

n°1864463
deca2
Posté le 22-03-2009 à 11:33:19  profilanswer
 

Bon, j'ai fini par toruver.
Je poste ici le code que j'ai adapté et qui peut être utile à d'autres.

Code :
  1. Sub extraireValeursNumeriques_DansChaine()
  2. Dim i As Byte, Nb As Byte
  3. Dim Cible As String, Resultat As String
  4. Dim Resul As Double
  5. Dim Nombre As Double
  6. Dim lig As Long
  7. Cells(1, 2) = " " & Cells(1, 5) & Chr(10) & " " & Cells(2, 5) & Chr(10) & " " & Cells(3, 5)
  8. For lig = 1 To 3
  9. Cible = Cells(lig, 2)
  10. 'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des
  11. 'virgules par des points
  12. Cible = Replace(Cible, ",", "." )
  13. 'Pour gérer deux nombres qui se suivent: remplacement des espaces
  14. 'par un caractère Alpha
  15. Cible = Replace(Cible, Chr(10), "x" )
  16. For i = 1 To Len(Cible)
  17. If IsNumeric(Mid(Cible, i, 1)) Then
  18. Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1))
  19. Nb = Nb + 1
  20. Resultat = Resultat & Nombre & vbLf
  21. Resul = Resul + Nombre
  22. i = i + Len(Str(Nombre)) - 1
  23. End If
  24. Next
  25. Next lig
  26. Cells(5, 1) = Resul
  27. MsgBox "Il y a " & Nb & " valeurs numériques dans la cellule " & vbLf & Resultat
  28. End Sub


 
Re bon dimanche à tous.

n°1866763
Paul Hood
Posté le 27-03-2009 à 16:35:24  profilanswer
 

Il y avait plus simple...
 
Private Sub CommandButton1_Click()
Montotal = 0
For i = 1 To 2
     
    Macell = Cells(i, 1)
    Mesval = Split(Macell, Chr(10))
    NbValCel = UBound(Mesval)
     
    TotalCel = 0
    For j = 0 To NbValCel
        TotalCel = TotalCel + CDbl(Mesval(j))
    Next
     
    Montotal = Montotal + TotalCel
Next
MsgBox Montotal
End Sub


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Sommer une cellule contenant plusieurs valeurs

 

Sujets relatifs
Comment faire une recherche avec plusieurs mots?récupérer différentes valeurs d'une même variable dans un tableau
Récupérer 2 valeurs et + avec deux tables(SQL Server)Récupération de plusieurs textarea
Noob inside, SELECT plusieurs dates en 1 fois[C] executer plusieurs boucles en meme temps
plusieurs fichier xsd[nxtOSEK] Comment connecter plusieurs Bricks NXT en Bluetooth
[Access] Regrouper plusieurs résultats d'1 requête sur 1 seule ligne?Valeur à un champs de plusieurs lignes
Plus de sujets relatifs à : Sommer une cellule contenant plusieurs valeurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR