Somme de formule

Bonjour à tous,

J’ai un problème dans une de mes formules :

J’ai un tableau qui ressemble à ça :

G2

G6

G3

Et je veux faire la somme des 2nd caractères (avec la la plage de type A2:A500 car j’ai beaucoup de cellules à analyser) pour avoir 11 dans l’exemple

Merci pour votre aide

Bonjour,

Si je comprends bien le contenu des cellules est alphanumérique et toi tu veux faire la somme des chiffres,

Question : c'est toujours une lettre + des chiffres ou bien plusieurs lettre + des chiffres,

Tu peux joindre un fichier exemple?

@+

Bonjour,

Oui c’est Toujours le 1er caractère qu’il me faut, et c’ Toujours un chiffre (ou une cellule vide)

Re bonjour,

On va spliter la lettre et le chiffre dans une deuxième cellule "=STXT(B2;2;NBCAR(B2)-1)*1" puis on fait la somme :

11fredw02.xlsx (9.55 Ko)

@+

J’avais pensé à cette solution mais il me faut plusieurs formules qui extraient plusieurs caractères, ça m’oblige à ajouter énormément de colonnes, il n’y a pas un moyen pour le faire en une fois ?

Tu joindre un fichier exemple?

D'accord, voic un exemple :

Bonjour,

Dans ton fichier test ... il suffit de compter les colonnes ...

Cela dit ... si dans ton fichier réel ... tu dois résoudre la question que tu as posée ...

Ci-joint ton fichier test ...

En espèrant que cela t'aide

15test-fredw02.xlsx (9.68 Ko)

Non tu n'as pas compris ma demande, en fait dans l'exemple je veux extraire et additionner les 1e, 3eme et 5eme caractère

4A6B2C 8A2B5C 1A2B1C

A = 4+8+1=13

B = 6+2+2=10

C = 2+5+1=8

Tu vois ce que je veux dire ?

SI je reformule,

A = somme des 1ers caractères de la ligne

B = somme des 3eme caractères de la ligne

C = somme des 5eme caractèresde la ligne

Bonjour tous

Je crains que tu es effectivement obligé de passer par des colonnes intermédiaires ou alors il faut créer une fonction VBA

Je rejoins Gli73 une fonction VBA du style 'Cherchechaine' en plus d'une table de transition

Il faut donc déplacer le sujet vers la section Excel - VBA

Bonjour

La fonction VBA pourrait ressembler à cela :

'   Compter dans une matrice (matCherhe) de cellules le chiffre devant une lettre designée par carTrouve
Function CompterSpecial(matCherche As Range, carTrouve As String)
Dim cel     '   Cellule en curs pendnt le parcours de la matrice
Dim cpt     '   compteur pour cumuler le chifre devant la lettre indiquée

    cpt = 0     '   pour initialiser au depart à 0 (zero)

    '   Pour chaque cellule de la matrice
    For Each cel In matCherche
        '   Si carTrouve est present dans la cellule
        If InStr(cel, carTrouve) > 0 Then
            '   Augmenter le compteur du chifre situé a gauche de la lettre designee
            cpt = cpt + Val(Mid(cel.Value, InStr(cel, carTrouve) - 1, 1))
        End If
    Next

    CompterSpecial = cpt    '   Mettre le compteur dans le retour de la fonction

End Function

Attention ! La fonction ne fonctionne que si devant la lettre il y a un chiffre (de 0 à 9) et pas un nombre !

Pour l'utiliser il faut la saisir comme une formule classique d'Excel dans une cellule avec les paramètres suivant

= CompterSpecial( cellule ou groupe de cellules pour la recherche ; le caractère à rechercher)

Exemple :

=CompterSpecial(A1:C1;"A") 

pour rechercher dans la matrice allant en ligne 1 de la colonne 1 à 3 le caractère A

=CompterSpecial(A1:C3;"B") 

pour rechercher dans la matrice de 3 lignes de 3 colonnes le caractère B

@Taoufiq

Avec la solution VBA pas besoin de table de transition !

Re,

Désolé ... mais utiliser A B C pour des séquences de 1,3,et 5 ...

cela peut prêter à confusion ... avec tes numéros qui ne contiennent que des A, des B et des C ...

Ci-joint ta formule corrigée

@james007

Belle formule tridactyle !

Sauf qu'avec "ma" solution VBA la formule devient universelle (pour ce cas là en tout cas)

@james007

Belle formule tridactyle !

Sauf qu'avec "ma" solution VBA la formule devient universelle (pour ce cas là en tout cas)

Merci pour ton compliment ...

Etonnant que ton oeil aiguisé n'ait pas remarqué qu'en changeant la position du caractère dans l'entête de la colonne ...

la formule s'ajuste ...

Bonjour

@james007

C'est sans doute le côté tridactyle de la formule qui m'en a empêché

Je n'aime pas utiliser les formules tridactyles (depuis ma dernière luxation du pouce)

Super, c'est exactement ce queje cherchai ! J'avais la bonne formule mais je ne connaissais pas ce truc de formule matriciel...

Par contre dans mon tableau j'ai des cas où une des cases est vide, et cette formule indique une erreur dans ce cas. Tu saurais comment y incruster une validation ? ou peut-être remplaçer par un somme.si ?

J'ai essayé quelqus trucs mais je n'ai pas réussi...

Re

Ci-joint ta formule avec un test supplémentaire ...

En espèrant que cela t'aide ...

Rechercher des sujets similaires à "somme formule"