Somme de formule

Y compris Writer et toute autre question en lien avec les suites bureautiques Open Source
G
Gli73
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 37
Inscrit le : 12 avril 2019
Version d'Excel : PC 2013
Contact :

Message par Gli73 » 16 mai 2019, 16:04

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
Modifié en dernier par Gli73 le 16 mai 2019, 16:32, modifié 1 fois.
Excelement Vôtre
Cogito ergo Excel
Per espera ad Excel

Développeur Indépendant sur Excel et 40 ans d'expérience informatique, je peux vous aider à apporter une touche "pro" à vos réalisations !
T
Taoufiq
Jeune membre
Jeune membre
Messages : 38
Inscrit le : 20 février 2019
Version d'Excel : 2010

Message par Taoufiq » 16 mai 2019, 16:09

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
G
Gli73
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 37
Inscrit le : 12 avril 2019
Version d'Excel : PC 2013
Contact :

Message par Gli73 » 16 mai 2019, 16:30

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
Excelement Vôtre
Cogito ergo Excel
Per espera ad Excel

Développeur Indépendant sur Excel et 40 ans d'expérience informatique, je peux vous aider à apporter une touche "pro" à vos réalisations !
G
Gli73
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 37
Inscrit le : 12 avril 2019
Version d'Excel : PC 2013
Contact :

Message par Gli73 » 16 mai 2019, 16:32

@Taoufiq
Avec la solution VBA pas besoin de table de transition !
1 membre du forum aime ce message.
Excelement Vôtre
Cogito ergo Excel
Per espera ad Excel

Développeur Indépendant sur Excel et 40 ans d'expérience informatique, je peux vous aider à apporter une touche "pro" à vos réalisations !
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'205
Appréciations reçues : 343
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 16 mai 2019, 16:32

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 ... :lol:

Ci-joint ta formule corrigée
Test Fredw02 V2.xlsx
(10.14 Kio) Téléchargé 5 fois
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
G
Gli73
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 37
Inscrit le : 12 avril 2019
Version d'Excel : PC 2013
Contact :

Message par Gli73 » 16 mai 2019, 16:36

@james007
Belle formule tridactyle ! ;;)
Sauf qu'avec "ma" solution VBA la formule devient universelle (pour ce cas là en tout cas) :lol:
Excelement Vôtre
Cogito ergo Excel
Per espera ad Excel

Développeur Indépendant sur Excel et 40 ans d'expérience informatique, je peux vous aider à apporter une touche "pro" à vos réalisations !
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'205
Appréciations reçues : 343
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 16 mai 2019, 17:09

Gli73 a écrit :
16 mai 2019, 16:36
@james007
Belle formule tridactyle ! ;;)
Sauf qu'avec "ma" solution VBA la formule devient universelle (pour ce cas là en tout cas) :lol:
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 ... :wink:
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
G
Gli73
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 37
Inscrit le : 12 avril 2019
Version d'Excel : PC 2013
Contact :

Message par Gli73 » 16 mai 2019, 17:16

Bonjour

@james007
C'est sans doute le côté tridactyle de la formule qui m'en a empêché :lol:
Je n'aime pas utiliser les formules tridactyles (depuis ma dernière luxation du pouce) :lol:
Excelement Vôtre
Cogito ergo Excel
Per espera ad Excel

Développeur Indépendant sur Excel et 40 ans d'expérience informatique, je peux vous aider à apporter une touche "pro" à vos réalisations !
F
Fredw02
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 16 mai 2019

Message par Fredw02 » 16 mai 2019, 18:20

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...
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'205
Appréciations reçues : 343
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 17 mai 2019, 00:53

Re

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

En espèrant que cela t'aide ...
Test Fredw02 V3.xlsx
(10.12 Kio) Téléchargé 4 fois
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message