Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Somme dans cellules contenant des retours de lignes

pierrof

XLDnaute Occasionnel
Bonjour

J'aimerai réaliser un code qui me permettrai de réaliser la somme d'une cellule contenant des retours de lignes.

Sur mon fichier exemple dans la collonne A il y 2 cellules contenant des retours de lignes, j'aimerais pouvoir réaliser la somme de ces valeurs dans la même cellules et part la même occasion changer le format des cellules de colonnes en nombre.
Le nombre de cellules peut varier.

Merci d'avance de vos explications.

Cordialement
 

Pièces jointes

  • Test4.xls
    25.5 KB · Affichages: 9

Lolote83

XLDnaute Barbatruc
Salut PIERROF,
Copie ce code dans un module et lance la macro
VB:
Sub Test()
    With Sheets("Feuil1")
        For Each xCell In .Range("A2:A14")      'Lecture de la plage A2 à A14 (a modifier)
            xDecoupe = Split(xCell, Chr(10))
            xValeur = 0
            For F = 0 To UBound(xDecoupe)
                xValeur = xValeur + xDecoupe(F)
            Next F
            xCell.Value = Val(xValeur)
        Next xCell
    End With
End Sub
@+ Lolote83
 

pierrof

XLDnaute Occasionnel
Bonjour,

A la suite de plusieurs tests j'aimerais rajouter une sécurité sur les cellules contenant des retours de lignes.
En effet il peut y avoir du texte et donc j'aimerai que la Macro ne prenne pas en compte la ligne de texte pour réaliser la somme.
en espérant être clair
Je joint un fichier.

Merci d'avance de votre aide.

Cordialement
 

Pièces jointes

  • Test5.xls
    31.5 KB · Affichages: 9

Jacky67

XLDnaute Barbatruc
Bonjour,
A défaut de @+ Lolote83
et si j'ai bien compris
Essaye comme ceci
VB:
Sub Test()
    Dim DChiffre, D&, C As Range, Total As Double, xValeur As Double
    With Sheets("Feuil1")
        For Each C In .Range("A2:A" & .UsedRange.Rows.Count)    'Lecture de la colonne A)
            DChiffre = Split(C.Value, Chr(10))
            Total = 0
            For D = 0 To UBound(DChiffre)
                If IsNumeric(DChiffre(D)) Then Total = Total + DChiffre(D)
              Next
            If Total <> 0 Then C.Value = Total
        Next
    End With
End Sub
 

Pièces jointes

  • PierrofSomme V1.xls
    46 KB · Affichages: 3

Discussions similaires

Réponses
5
Affichages
369
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…