Somme partielle sur une même ligne

  • Initiateur de la discussion Initiateur de la discussion plusnultumeurs
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

plusnultumeurs

Guest
Bonjours à tous,
lorsque je vois ce qu'il est possible de faire avec excel je ne regrette pas mon pseudo....

en ce qui me concerne j'ai un souci grave.... trés basic pour vous certainement.

imaginez sur une même ligne une série irégulière de A et de B, du type:
AAABBBBBBAABBBAAAAAAAAABBBBBBA
j'aurais besoins en bout de ligne de connaître le plus gand nombre de A puis de B, le plus petit nombre de A puis de B.

Trés difficult pour moi.....
Merci d'avance
 
Re : Somme partielle sur une même ligne

plusnultumeurs à dit:
Bonjours à tous,
lorsque je vois ce qu'il est possible de faire avec excel je ne regrette pas mon pseudo....

en ce qui me concerne j'ai un souci grave.... trés basic pour vous certainement.

imaginez sur une même ligne une série irégulière de A et de B, du type:
AAABBBBBBAABBBAAAAAAAAABBBBBBA
j'aurais besoins en bout de ligne de connaître le plus gand nombre de A puis de B, le plus petit nombre de A puis de B.

Trés difficult pour moi.....
Merci d'avance
Salut
qu'est ce que tu appelles un même ligne ?
une seule cellule avec un seul "mot" et tu veux connaître la plus grande séquence de A consécutifs, ainsi que la plus petite (idem pour B )?
ou une série de cellules ayant une lettre par cellule sur la ligne 1 (par exemple) ?

C'est un cas unique, ou il faut que tu puisses le reproduire sur des séries de longueur différentes ?
A+
 
Re : Somme partielle sur une même ligne

bonsoir plusnultumeurt (ouf j'ai dépassé ce stade ), Gorfael

je vient de trouver ceci ?????????
Sub comptage()
'AV, mpfe
For Each cel In Range("A7:X7")
For i = 1 To Len(cel)
If Mid(cel, i, 1) = "A" Then cpt = cpt + 1
Next
Next
MsgBox cpt
End Sub

Function NbLettres(plage As Range, Lettre$, _
Optional Casse As Boolean = True)
'fs, mpfe
Dim cell As Range

NbLettres = 0
For Each cell In plage
If Not cell.Text = "" Then
If Casse = False Then
NbLettres = NbLettres + UBound(Split(LCase(cell.Text), LCase(Lettre)))
Else
NbLettres = NbLettres + UBound(Split(cell.Text, Lettre))
End If
End If
Next

End Function

Function NbreLettres(laPlage As Range, laLettre As String, laCasse As Boolean)
'AV, mpfe
Dim cel As Range
For Each cel In laPlage
For i = 1 To Len(cel)
If laCasse = True Then If Mid(cel, i, 1) = laLettre Then _
NbreLettres = NbreLettres + 1
If laCasse = False Then
If Mid(cel, i, 1) = LCase(laLettre) Or Mid(cel, i, 1) = laLettre _
Then NbreLettres = NbreLettres + 1
End If
Next
Next
End Function
mais je n'ai pas testé
donc a voir
 
Re : Somme partielle sur une même ligne

re....
Par macro
PHP:
Sub Macro1()
Dim Str_Val As String
Dim Max_A As Integer
Dim Max_B As Integer
Dim Min_A As Integer
Dim Min_B As Integer
Dim Cmp_A As Integer
Dim Cmp_B As Integer
Dim x As Integer

Str_Val = Selection & "x"
Min_A = Len(Str_Val)
Min_B = Len(Str_Val)
For x = 1 To Len(Str_Val) - 1
    If Mid(Str_Val, x, 1) = "A" Then
        Cmp_A = Cmp_A + 1
        If Mid(Str_Val, x + 1, 1) <> "A" Then
            If Max_A < Cmp_A Then Max_A = Cmp_A
            If Min_A > Cmp_A Then Min_A = Cmp_A
            Cmp_A = 0
        End If
    Else
        Cmp_B = Cmp_B + 1
        If Mid(Str_Val, x + 1, 1) <> "B" Then
            If Max_B < Cmp_B Then Max_B = Cmp_B
            If Min_B > Cmp_B Then Min_B = Cmp_B
            Cmp_B = 0
        End If
    End If
Next x
MsgBox (Chr(13) & "Valeurs de A:" & Chr(13) & _
        "Max : " & Max_A & Chr(13) & _
        "Min : " & Min_A & Chr(13) & Chr(13) & _
        "Valeurs de B:" & Chr(13) & _
        "Max : " & Max_B & Chr(13) & _
        "Min : " & Min_B & Chr(13))
End Sub
si c'est un seul mot, tu le selectionnes et tu lance la macro
A+
 
Re : Somme partielle sur une même ligne

Bonjour à tous et grand merci pour vos réponses précises, mais pour répondre à certaines de vos interrogations je doit préciser qu'il s'agit d'une série irréguliere sur une même ligne composée de plusieurs cellule et avec une lettre par cellule.
En fait comme je ne suis pas encore assez fort ( même pas du tout ) j'ai rusé pour obtenir un résultat,..... et maintenant je suis embêtté avec ces A et B.

je joint un dossier qui parlera mieux que moi ;

merci encore pour vos efforts....
 
Re : Somme partielle sur une même ligne

Bonsoir,
merci Monique pour ces formules matricielles.
Ca fonctionne trés bien pour le plus gand nombre mais pour le plus petit j'ai du mal à recopier et activer la formule.....;je vais chercher.

Pour répondre à ta question j'ai utilisé des A et B car je ne sais pas ( ou plutôt je ne sais pas si c'est possible ) d'additionner des cellules de couleurs.

donc j'ai rusé avec une formule basic du style =NB.SI etc ...etc....

mais à l'impréssion ces A et B vont me géner.
je vais rusé encore en les mettant de la même couleur que le fond...

Bonne soirée
 
Re : Somme partielle sur une même ligne

Re,

Pour masquer les A et B, (et les nombres des lignes 14 et 16)
tu peux aussi utiliser le format de cellule ;;;
3 points-virgule

Barre de menu - Format - Cellule
Onglet "Nombre"
Dans la zone "Catégorie", tu cliques sur "Personnalisé"
Dans la zone "Type", tu tapes ;;;

On peut compter par macro les cellules de couleur.
On peut compter par formule les cellules dont la couleur est une mise en forme conditionnelle.
Ici, la condition est le contenu de la cellule

Couleur de fond, au départ : gris

Barre de menu - Format - Mise en forme conditionnelle
Condition 1 :
"La valeur de la cellule est égale à " et taper ="B"
Puis cliquer sur "Format", onglet "Motif", choisir la couleur
puis OK 2 fois
 

Pièces jointes

Re : Somme partielle sur une même ligne

Salut,
merci beaucoup pour ton aide.
la procédure pour masquer les A et les B est géniale.
je n'arrive toujours pas à faire fonctionner les formules matricielles pour calculer les plus petit A et B.....Un truc qui m'échappe...Je vais chercher
Encorre merci pour tes efforts......A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour