Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Segment et nombre

laeti95

XLDnaute Occasionnel
Bonjour,

J'ai un grand tableau, avec des segments par année et j'aimerais calculer automatiquement le nombre de prénom en colonne B en fonction de la sélection par segment suivant l'année de mon segment.

J'ai essayé avec NBVAL(UNIQUE

Mais malheureusement quand je change l'année, mon chiffre reste identique.

Merci d'avance.

Laeti
 

laeti95

XLDnaute Occasionnel
Bonjour Sylvanu, je n'arrive pas a ouvrir ton fichier :-( windows bloque je suis sur xl 2016 donc problème avec ce qui est ressent.
Je vais essayé de l'ouvrir chez une copine, mais j'ai des doutes et si des formules trop ressentes cela ne va pas fonctionner, je cherche donc une formule valable sur xl 2016
Bonne journée ;-)
 

laeti95

XLDnaute Occasionnel
Bonjour Zon, je fais au mieux, oui c'est juste désolée
Avec les segments je peux sélectionner sur mon fichier de base plussieurs années, j'ai presque 2000 lignes !
Je cherche toujours une solution
Laeti
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Mon code doit être adapté, en particulier le tableau est en colonnes B et C, s'appelle "Tableau1" et commence en ligne 7.
VB:
PremLig = 7 ' A MODIFIER
DerLig = PremLig + [Tableau1].Rows.Count - 1
Donc modifier ces lignes, ou livrez un fichier plus représentatif.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
En PJ une V3 un peu plus "aboutie". il n'est plus utile de modifier le code.
La syntaxe est : =Compter("Tableau1";ALEA()) "Tableau1" étant le nom du tableau à traiter.
Les calculs première et dernière ligne du tableau où qu'il soit se fait dans la fonction.
 

Pièces jointes

  • Segment et formule (V3).xlsm
    21.2 KB · Affichages: 4

laeti95

XLDnaute Occasionnel
J'i essayer ta formule avec tableau1

Mais rien ne fonctionne il manque des trucs je pensais trouver une formule plus simple pour extraire le nombres de prénoms sans doublons, mais je cherche encore...
#NOM? voilà l'erreur
et VBA je connais pas donc je dois chercher une formule. Bonne soirée
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Essayez la PJ #21.
C'est simple :
1- Vous ouvrez votre fichier et cette PJ
2- Vous faites ALT+F10 ou encore onglet Développeur/Visual basic
3- A gauche de cette fenêtre vous devez avoir ça :

4- Vous cliquez sur Module1, et en restant appuyez vous le glissez sur votre nom de fichier
5- Vous devriez avoir ça :

6- Vous fermez la PJ.
7- dans votre fichier, dans une cellule vous tapez : =Compter("Tableau1";ALEA())
Vous devriez avoir la bonne réponse.

Ou alors vous nous fournissez un bon fichier qu'on updatera.
je dois chercher une formule
Si une formule simple était possible, quelqu'un vous l'aurais déjà donnée.
Merci peut être que cela viendra.
Bon courage, et bonne soirée.
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
De notre regretté JBoisgontier....
Formule matricielle, à valider par Ctrl + Maj + Entrée :
VB:
=SOMME(--(FREQUENCE(SI(SOUS.TOTAL(3;INDIRECT("C"&LIGNE(Tableau1[Nom])));EQUIV(Tableau1[Nom];Tableau1[Nom];0));LIGNE(INDIRECT("1:"&LIGNES(Tableau1[Nom]))))>0))
Bonne fin d'apm
 

Zon

XLDnaute Impliqué
Salut,

Le code de Sylvanu fonctionne avec segment ou pas puis qu'il travaille directement sur Tableau1 chez moi.

J'ai remarqué qu'avec les segments , le temps d'éxécution des macros s'allonge de quelques secondes même si tout est codé en tableaux VBA.

@Cousinhub , sympa ces formules mais quel temps passé à changer le nom du tableau si besoin..


Cordialement,
 

Zon

XLDnaute Impliqué
Hello,
Comme précisé dans ma réponse, cette formule n'est pas de moi....
Et quoiqu'il arrive, du moins, c'est mon avis, une formule sera toujours plus facilement adaptable à un code...
PS, j'ai, moi aussi, développé...
Salut @Cousinhub , je te présente mes excuses si j'ai pu te blesser, ravi d'échanger avec toi même si j'apprends encore une mauvaise nouvelle, je ne savais que JBoisgontier n'était plus, comme Monique ici..

LOL encore un développeur qui s'est mis aux formules... ou l'inverse ?

Sur ce coup là , dans le code de Sylvanu y a rien à adapter. Y a qu'à changer 1 fois le nom du tableau dans la formule.

Mais là où je te suis : ajouter un module dans le VBE pour certains utilisateurs peu expérimentés ça peut faire peur ou leur paraitre compliqué même si le tuto de Sylvanu est parfait.

C'était plus facile du temps des macros XL4 dans une bonne vielle feuille.

A+++
 

laeti95

XLDnaute Occasionnel
Bonjour Sylvanu, je ne doute pas de 'efficacité de ton VBA, mais pour moi c'est un peu di Chinois, mais je vais m'y atteler un jour c'est sûr.

A Cousinhub, je vais essayer ta formule en post 24 sur mon vrai fichier, me concernant je préfère une formule.

J'ai entendu dire que feu Monique était la spécialiste XL et en effet je tombe sur des formules extraordianaire.

Merci au forum, je reviendrai plus tard, je vais tester la formule à Cousinhub

MERCI à vous tous et un bon dimanche.

Titi ;-)
 

laeti95

XLDnaute Occasionnel
J'ai essayée de comprendre la formule mais c'est complexe surtou les -- au début

Mais ca fonctionne c'est TOPISSIME

Merci

@ Sylvanu il n'est pas oublié mais je veux me mettre au VBA MERCI ossssiiiii
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…