SOUS.TOTAL Texte

Bonjour à vous,

Je me permets une nouvelle fois de solliciter votre aide ! (Merci à ceux qui liront ce qui suit)

Je souhaiterais compter le nombre d'occurence d'une référence dans une liste qui a été au préalable déjà filtrée.

La fonction idéale pour faire ça est SOUS.TOTAL(3 ; A : A )

Le problème est le suivant : les occurences cherchées sont du texte ! Du coup, cette fonction me renvoie systématiquement 0.

Voilà, ça coince...

Merci de votre aide !

Avec un NB.SI peut-être

Cdlt

Je me suis peut être mal exprimé !

J'ai joint un fichier qui reprends mon point.

@ Civo, NB.SI ne peu fonctionner dans mon cas, car je ne traite que des tableaux déjà filtrées.

Et les références que je souhaite dénombrer sont uniques !

121exemple.xlsx (10.21 Ko)

Bonjour @ tous,

Si toutes tes références ont un nombre de caractère > 2 :

=NB.SI(B$5:B$19;"??*")

Pour les "-" et "" :

=LIGNES(B$5:B$19)-NB.SI(B$5:B$19;"??*")

J'ai évité de faire en matricielle, dis nous si ça te convient ou non pour passer par des formules matricielles..

@ + +

Merci Rachid pour ta contribution.

Cependant, je précise que je ne traite que sur des tableaux filtrés, du coup ta formule (qui est très bien dans le cas contraire !), ne fonctionne pas pour moi !

Je joint cette foi ci un exemple qui prend cette contrainte en compte (j'aurai dû le faire dès le dédut...)

Merci à vous !

164exemple-2.xlsx (10.69 Ko)

Re,

  • =SOMME(SI(SOUS.TOTAL(3;DECALER(B4;LIGNE(INDIRECT("1:"&LIGNES(B$5:B$19)));));N(NBCAR(C5:C19)>1)))
  • =SOMME(SI(SOUS.TOTAL(3;DECALER(B4;LIGNE(INDIRECT("1:"&LIGNES(B$5:B$19)));));N(NBCAR(C5:C19)<2)))

Les 2 formules @ valider par Ctrl+Shift+Enter

@ + +

Toujours merci rachid pour cette réponse rapide. Je vais tester cela, je reviens vers toi si jamais j'ai un souci

Re,

Pour ne pas avoir de soucis de validation matricielle :

  • =SOMMEPROD(SOUS.TOTAL(3;DECALER(B4;LIGNE(INDIRECT("1:"&LIGNES(B$5:B$19)));))*(NBCAR(C5:C19)>1))
  • =SOMMEPROD(SOUS.TOTAL(3;DECALER(B4;LIGNE(INDIRECT("1:"&LIGNES(B$5:B$19)));))*(NBCAR(C5:C19)<2))

Validation classique

@ + +

c'est plutôt pas mal ! Merci Rachid !

Par contre, petite question subsidiaire :

Je souhaiterais pouvoir faire ce calcul en "arrière plan" dans une macro.

J'ai vu qu'il fallait utiliser le prefixe Application.WorksheetFunction. L'idée serait d'avoir quelque chose comme ça dans la macro :

x = "Application.WorksheetFunction.TA.SUPER.FORMULE"

Suivi d'une MsgBox (la msgBox, je sais faire !)

Comment adapter ta formule ? Une idée ?

MErci encore !

Re,

Étant nul en VBA, je laisse les spécialistes t'aider..

@ + +

ahah pas de soucis !

Merci encore pour ton aide.

Une âme quelconque erre peut être dans le coin ?

Rechercher des sujets similaires à "total texte"