Comptabiliser des valeurs identiques cote à cote dans une plage

  • Initiateur de la discussion Initiateur de la discussion sellig 29
  • 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 !

sellig 29

XLDnaute Occasionnel
Bonjour à tous,

J'aimerais pouvoir comptabiliser à l'aide d'une formule le nombre de fois que la lettre R se trouve cote à cote avec une autre lettre R dans la plage donnée.
J'ai donné des précisions dans la pièce jointe!
D'avance merci à tous ceux qui pourront m'aider.
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir et merci à tous pour vos réponses et l'aide précieuse que vous m'avez apportée.😀😀😀

JHA, j'ai commencé un travail un peu similaire au tien (double tableau) en employant la formule "concatener", la difficulté persistante concerne toujours les 3 "R" cote à cote qui doivent compter pour une seule valeur... Ce point n'est pas non plus résolu dans ton fichier.
CISCO, ta formule "somme prod" correspond tout à fait à mon attente, toutes les subtilités liées aux reports de lignes et les 3 "R" y sont intégrés!
Paritec, à la relecture de ma demande initiale, je n'ai pas trouvé d'incohérences dans mon souhait? Mes explications me semblent claires, dans tous les cas, merci pour ta disponibilité.
Bonne soirée à vous tous!

Gilles
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir

Bonsoir et merci à tous pour vos réponses et l'aide précieuse que vous m'avez apportée.😀😀😀

CISCO, ta formule "somme prod" correspond tout à fait à mon attente, toutes les subtilités liées aux reports de lignes et les 3 "R" y sont intégrés!

Gilles

Très bien si cela fonctionne. Le principe, c'est de compter 1 seulement lorsqu'il y a trois cellules à la suite du type R, R, et autre chose que R. Ainsi on ne prend en compte que les deux derniers R de toutes les séries de R, qu'il y en ai 2, 3 ou plus dans la série. Et il y a trois SOMMEPROD parce qu'il y a trois lignes.

@ plus
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir Cisco le forum
oui alors si je lis bien tes explications, qui sont elles très claires, le fichier joint ne donne donc pas 14 comme le demandait Sellig dans son premier post? ou bien??
Pour la première ligne 4 la deuxième 5 et la troisième 4, donc un total de 13 et non 14 comme le demandait Sellig!!!
à te relire Cisco et merci d'avance
a+
Papou😱
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir à tous



Une fonction personnalisée conforme à l'interprétation de CISCO :​
VB:
Function toto&(r As Range)
Application.Volatile
Dim i&, n&
    For i = 1 To r.Cells.Count
        If r(i).Value = "R" Then
            n = n + 1
        Else
            If n > 1 Then toto = toto + 1
            n = 0
        End If
    Next
    If n > 1 Then toto = toto + 1
End Function
Malheureusement, =toto(B6:AJ8) renvoie 13 au lieu du 14 attendu.

En voici deux autres, équivalentes, qui renvoie le fameux 14 :​
VB:
Function tata&(r As Range)
Application.Volatile
Dim i&, n&
    For i = 1 To r.Cells.Count
        If r(i).Value = "R" Then
            n = n + 1
        Else
            n = 0
        End If
        If n > 1 Then tata = tata + 1
    Next
End Function
VB:
Function tutu&(r As Range)
Application.Volatile
Dim i&, n&
    For i = 1 To r.Cells.Count: n = -(n + 1) * (r(i).Value = "R"): tutu = tutu - (n > 1): Next
End Function



ROGER2327
#5991


Dimanche 8 Gidouille 139 (Sainte Boudouille, bayadère - fête Suprême Tierce)
4 Messidor An CCXX, 0,0020h - véronique
2012-W25-5T00:00:17Z
 
Dernière édition:
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonjour à tous, bonjour Roger, bonjour Paritec.

La dernière ligne donne 5 à cause du R en C6 et du O en D6, qui sont à placer à la suite de AK8.

@ plus
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Re...


Bonjour à tous, bonjour Roger, bonjour Paritec.

La dernière ligne donne 5 à cause du R en C6 et du O en D6, qui sont à placer à la suite de AK8.

@ plus
Très fort !​




ROGER2327
#5993


Dimanche 8 Gidouille 139 (Sainte Boudouille, bayadère - fête Suprême Tierce)
4 Messidor An CCXX, 3,1804h - véronique
2012-W25-5T07:37:59Z
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonjour à tous

Une fonction personnalisée à tester
 

Pièces jointes

Dernière édition:
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Re

Version avec fonction parametrée
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir à tous,
pierrejean, ton fichier correspond également à ce que je souhaitais, je te remercie (j'ai le choix maintenant entre celui de CISCO et le tien!). ROGER2327, je n'ai pas réussi à appliquer ton code, j'ai surement du zapper quelque chose? Merci toutefois pour ton aide.
Bonne soirée à tous
Gilles
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir à tous,
Re...

(...)
ROGER2327, je n'ai pas réussi à appliquer ton code, j'ai surement du zapper quelque chose?
(...)
Pas plus difficile à appliquer que la fonction de pierrejean (que je salue au passage) : Coller le code dans un module standard, puis saisir la fonction dans la feuille la formule indiquée plus haut. Ce que j'ai fait dans le classeur joint.

J'en ai profité pour ajouter cette fonction qui semble devoir donner les même résultats que la formule de CISCO et la fonction de pierrejean.​
VB:
Function titi&(r As Range)
Application.Volatile
Dim i&, n&
    For i = 1 To r.Cells.Count
        If r(i).Value = "R" Then
            n = n + 1
        Else
            If n > 1 Then titi = titi + 1
            n = 0
        End If
    Next
    If n > 1 Or (n > 0 And r(1).Value = "R") Then titi = titi + 1
End Function


ROGER2327
#5994


Dimanche 8 Gidouille 139 (Sainte Boudouille, bayadère - fête Suprême Tierce)
4 Messidor An CCXX, 9,4157h - véronique
2012-W25-5T22:35:52Z
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonjour ROGER2327,
A la lecture de votre fichier, j'ai compris ce qui m'avait échappé! J'avais omis d'indiquer dans la cellule du résultat la formule =titi($B$6:$AJ$8) ou toto..... 😱
J'ai pu tout au long des ces derniers mois, années... me rendre compte combien vos compétences en VBA étaient affirmées, je crois que vous faites partie des occupants de la maison "excel" qui connaissent parfaitement tous ses coins et recoins! 🙂
Merci
Gilles
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Re

J'ai un doute sur la validité de ma fonction
En effet dans le fichier joint ,l'ajout d'un R en C6 produit une divergence entre mon resultat et celui de ROGER
SI gilles voulait bien jeter un oeil
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonjour pierrejean,
J'avais testé des "R" de manière aléatoire dans les différentes cellules des fichiers respectifs des uns et des autres, je n'avais pas trouvé de divergences (je ne les avais pas toutes faites non plus!). Et effectivement, en C6, une erreur apparait (par rapport à mon souhait) dans le fichier de ROGER2327: AJ8, B6 et C6 renseignées par des "R" donne 2 valeurs au lieu de 1 souhaitée!
L'oeil d'un maitre!! Merci pierrejean😉
 
Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonsoir à Tous
le fichier modifié pour tenir compte de la Subtilité de comparer la première cellule de la permière ligne avec la dernière cellule de la dernière ligne!!
a+
papou😱
 

Pièces jointes

Re : Comptabiliser des valeurs identiques cote à cote dans une plage

Bonjour Papou,
Il existe un petit "hic"! S'il n'y a pas de "R" en AJ8 et un "R" en B6 et C6, ton code ne considère pas ces 2 "R" cote à cote comme une valeur.
Ceci dit, ce n'est pas bien grave puisque la formule de CISCO ou le code de pierrejean intègre cette subtilité! Merci pour ton aide.
Cordialement
Gilles
 
- 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

Discussions similaires

Retour