Forums XLPages

Tous les messages (JeanMarie)

« 1 2 3 4 5 6 7 8 ... 29 »
Re: Besoin d'aide formule Excel
#41
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 02-11-2012 09h51
Bonjour chakir123, Didier, le forum

Pour répondre au plus rapide en fonction de ce que tu écris dans ton post

la formule suivante =Y*50% te donnera la dotation pour le 1er. Change la valeur du pourcentage dans la formule pour obtenir la valeur pour les autres dotations.

Excel à un vocabulaire spécifique, ce que tu appelles une case est une cellule, une cellule est un objet d'une feuille de calcul. Une cellule à des coordonnées en colonne et en ligne cela permet de la situer dans la feuille, et les formules utilisant ces coordonnées pourront en reprendre la valeur. C'est un des premier principe élémentaire dans le calcul des formules.
Il faut dans tes futurs posts être le plus précis dans les informations que tu donneras, cela te permettra d'avoir une réponse la plus adaptée à ton problème.

Cordialement, Jean-Marie

Hors Ligne
Rapport   Haut 

Re: Classement par ordre décroissant en fonction de ...
#42
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 30-10-2012 19h35
Bonsoir Turfmann, Didier, Le forum

Avant de te répondre sur la résolution de ton problème, je n'ai pas compris pourquoi tu as utilisé la fonction NB.SI pour faire ton tableau en D4:W23. Un comparateur aurait suffit du style =($D$24=B4)*1

Concernant ta demande.

Je passe par une colonne intermédiaire, que j'ai placé dans ton fichier à la cellule AG4, et fait un glisser déposer.
=SI(C4;SI(EQUIV(C4;C$4:C$23;0)<>B4;"";NB.SI(C$4:C$23;C4)-B4/100);"")
Si la valeur de la cellule de la colonne B est supérieure à 0, et que c'est la première occurrence de cette valeur dans la liste, le nombre d'occurrence de cette valeur dans la liste est retournée. Pour départager les exaequos, il faut pondérer les valeurs retournées par la formule par le -A4/100

Ensuite pour retourner les valeurs cibles, formule en AA5 et glisser déposer vers le bas
=SI(NB(AG$4:AG$23)>=B4;INDEX(C$4:C$24;EQUIV(GRANDE.VALEUR(AG$4:AG$23;B4);AG$4:AG$23;0);1);"")

La fonction NB() retourne le nombre de valeurs numériques de la plage.
La fonction GRANDE.VALEUR(;) retourne la xième plus grande valeurs numériques de la plage, la valeur du deuxième argument représente la valeur de rang. =GRANDE.VALEUR(...:....;1) ets égale à la fonction MAX(...:...)
La fonction EQUIV() retourne la position de la valeur à rechercher (1er argument), dans la lplage (2ème argument), le 3ème argument indique que l'on veut exactement rechercher la valeur indiquée.

Bon courage pour la suite

@+Jean-Marie 
Hors Ligne
Rapport   Haut 

Re: Remplir une cellule en fonction d'une autre avec une Macro
#43
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 30-10-2012 12h43
Bonjour Kiwi92, Didier, le forum

Essaye avec la formule ci-dessous à mettre en B1 et glisser vers le bas
=SI(A1<>"";"Equipe"&SI(ESTERR(TROUVE("Windows";A1));" Unix";" windows"))


@+Jean-Marie

Hors Ligne
Rapport   Haut 

Re: Somme de données nommées
#44
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 20-10-2012 09h27
Bonjour auzel, Didier, le Forum

Je pense que tous les problèmes que tu rencontres dans les autres onglets viennent des déclarations des plages nommées.

L'utilisation des fonctions de la catégorie Base de donnée, nécessite une plage de données dont la première ligne représente les étiquettes des champs et les lignes suivantes les données. 

Ce qui n'est pas le cas pour les deux plages bdd_financés et bdd_refusés, l
es étiquettes sont en ligne 8 et les plages commencent en ligne 9, corrige les ainsi :
      - pour bdd_financés
=DECALER('Projets financés'!$B$8;;;NBVAL('Projets financés'!$B:$B);11)
      - pour bdd_refusés
=DECALER('Projets refusés'!$B$8;;;NBVAL('Projets refusés'!$B:$B);6)
Tu risques d'avoir un problème avec la plage nommée NomProjetsrefus, la ligne de la référence est variable (relative), je te laisse corriger la référence.

Ensuite tu auras des erreurs dans certaines formules de la feuille stats globales, mais les formules ne sont pas identiques dans la même colonnes, je te laisse corriger.

Un autre point, je connaissais la mise en oeuvre de ces fonctions, la définition des arguments, mais personnellement, je n'utilise pas ces fonctions, redéfinir la zone de critères à chaque fois est trop rébarbatif. Je connaissais leurs puissance de calcul. Mais je ne connaissais pas la possibilité d'intégrer dans la 2ème ligne de la plage de critère une formule de calcul de ce type
=ANNEE('Projets refusés'!B9)=2005

Ce que tu as fait "Audrey" est un très beau travail, merci pour m'avoir montré cette possibilité, franchement certaines personnes sur un autre forum ami devraient regarder ce que tu as fait et analyser la puissance de ces fonctions. 

Encore une petite chose, dommage que ton fichier ne passe pas en taille sur le forum, et que sa période de téléchargement n'est que d'une semaine.
Peux-tu faire une version très allégèe, sans données confidentielles pour le mettre en post...

@+Jean-Marie 
Hors Ligne
Rapport   Haut 

Re: Somme de données nommées
#45
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 19-10-2012 13h29
Bonjour auzel, Didier, le forum

Le problème vient du fait que tu déclenches une référence circulaire.

La fonction NBVAL utilisée dans la formule de déclaration de la plage nommée, calcule le nombre de valeurs dans $K:$K, et dans une cellule de la colonne $K124:K127 tu utilises cette plage nommée dans les formules NB.SI(), et tu créés sans le savoir une référence circulaire (c'est comme un serpent qui se mange la queue)

Pour résoudre ton problème tu as deux solutions, en D25
=NB.SI(DECALER(D9;;;NB(B:B));"Insertion par l'emploi")
ou
=NB.SI(DECALER(D9;;;LIGNE(B122)-8);"Insertion par l'emploi")

J'ai mis dans la formule la déclaration de la plage, tu peux reporter la fonction DECLAER() aussi en plage nommée, il faut simplement faire attention au nom des feuilles et à indiquer les références absolues.

L'utilisation de la fonction LIGNE() est possible par l'obligation que tu as de faire une insertion de ligne, pour permettre garder à ton tableau de stats de suivre l'évolution de ta base

J'espère avoir répondu à ton problème.

@+Jean-Marie


Hors Ligne
Rapport   Haut 

Re: Somme de données nommées
#46
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 18-10-2012 07h38
Bonjour auzel, Didier, le forum

Je ne comprends pas bien, la suite de tes posts et des retours des formules que tu indiques.

Attention quand tu déclares des "noms", il ne faut pas mettre d'espace dans la déclaration du nom, l'espace est un opérateur d'intersection de cellules. C'est peut-être la source du message d'erreur #VALEUR!
Si ce n'est pas le cas, comme tu changes tes plages nommées entre les deux posts, normalement =SOMME(Nombre de projets) devrait aussi retourner le message d'erreur #VALEUR! et non 0 comme indiqué dans ton premier posts.

Indique moi les formules de tes déclarations des noms, les noms réel utiliser dans ton classeur confidentiel et le retour des formules dans les cellules...

@+Jean-Marie





Hors Ligne
Rapport   Haut 

Re: Somme de données nommées
#47
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 16-10-2012 19h17
Bonsoir auzel, Didier, le forum

Bienvenue sur le forum, concernant ton problème sans fichier difficile de t'aiguiller sur la source de ton problème.

Néanmoins regardes ces différents points :
      - avec les formule =LIGNES(A), =COLONNES(A), =CELLULE("ADRESS";A), tu peux connaître le nombres de lignes de ta plage nommée A, le nombre de colonnes, et la référence du coin haut/gauche de la référence. Peut-être que celle-ci n'est pas correcte.

      - les données des cellules de la colonne A ne sont pas numérique, =NB(A) te donnera le nombre de cellules contenant des données de type numériques.

      - tu peux aussi utiliser la boîte de dialogue "atteindre", tu peux y accéder depuis le bouton RECHERCHER du ruban. Dans la boîte de dialogue dans le champ saisissable tu tapes A et tu valides, normalement Excel te sélectionne la plage de cellules nommées A.

En espérant que cela te soit utile.

@+Jean-Marie
Hors Ligne
Rapport   Haut 

Re: Recherche de valeur dans une colonne
#48
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 14-10-2012 18h08
Re...

Turfman, pour la compréhension de tout le monde, il est bon de rester sur le fil de départ.

Pour ce qui d'une version en passant par des colonnes intermédiaires, voici deux possibilités.

Dans un premier temps, ce que je n'avais pas remarquer avec ma première formule, c'est que tu as des doublons dans la plage E6:E25. cela va provoquer un problème, il faut donc neutraliser les valeurs ces doublons pour éviter de les avoir plusieurs fois dans la colonne G.

On peut le faire de plusieurs manières. En voici une, formule à mettre en I6 et glisser vers le bas
=SI(E6;SI(NB.SI(E$5:E5;E6);"";E6);"")
L'étape suivante est de dénombrer le nombre de valeurs sans doublons que contient la plage C6:C25, tu connais déjà la formule à mettre en J6 et glisser vers le bas
=NB.SI(C$6:C$15;I6)
On obtient une suite de 0 ou de 1.


Comme écrit dans mon premier poste, on utilise la fonction EQUIV ppur rechercher la position du premier 1 dans la plage. Formule en K6
=EQUIV(1;J6:J25;0)
Problème, on ne peut pas faire un glisser vers le bas, EQUIV ne retournant invariablement que la position du premier 1 dans la plage, il va falloir russé. On peut utiliser la fonction DECALER qui permet de déterminer une référence de cellules en fonction de paramètres mathématiques.
En formule à mettre en J7, et glisser vers le bas

=EQUIV(1;DECALER(J$6:J$25;SOMME(K$6:K6););0)
On obtient par cette fonction l'écart entre chaque valeurs de communes entre B (sans doublon) et A.
Avec la fonction INDEX on récupère la valeur, formule à mettre en L6
=SI(ESTNA(K6);"";INDEX(E$6:E$25;K6;1))

En L7 il faut cumuler les différents écarts, formule en L7 et glisser vers le bas

=SI(ESTNA(K7);"";INDEX(E$6:E$25;SOMME(K$6:K7);1))

Avec cette suite de colonnes intermédiaires on obtient le résultat voulu.

Tu verras à la longue que le départ conditionne les fonctions que tu devras utiliser pour résoudre un problème.
Rechercher la même valeur 1 pose des problèmes, et si l'on indexait la série de 0 et de 1 ....

Voici une autre solution.
Pour commencer à la fin de ton tableau B, met un " " (espace) en E26.

Pour cette solution, on va repartir des valeurs de ton tableau B sans les doublons, donc ce qu'il y a dans la plage I6:I25. 

Formule en N5 et glisser vers le bas

=SI(NB.SI(C$6:C$15;I6);LIGNE(A1);21)
Tu vas obtenir une suite valeur 21;2;21;4;21;21;7;21;9.......
Ta plage de ton tableau B contient 20 lignes, et je t'ai fais mettre un espace la la 21 ligne de ce tableau, cette servira de gestion d'erreur.

Pour ce qui est de la formule avec INDEX en Q6, et glisser vers le bas.
=INDEX(E$6:E$26;PETITE.VALEUR(N$6:N$25;LIGNE(A1));1)
On obtient le résultat demandé.

La fonction LIGNE(A1) retourne le numéro de la ligne de la référence de la cellule. cela évite de changer l'incrément dans la fonction PETITE.VALEUR

La fonction PETITE.VALEUR retourne la énième plus petite valeur de la plage en référence. Cela permet de faire un tri croissant...

Turfman tu as donc deux solutions sans utilisation de formules matricielles.

@+Jean-Marie 
Hors Ligne
Rapport   Haut 

Re: Recherche de valeur dans une colonne
#49
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 14-10-2012 10h32
Bonjour Turfman, Didier, le Forum

Pour savoir si une valeur numérique existe dans une plage, il y a une fonction nommée NB.SI()
=nb.si(C6:C25;E6)
elle retourne soit 0 ou 1. 
Si ceci vaut pour une seule valeur numérique, on peut le faire sur une suite de valeurs
=NB.SI(C6:C25;E6:E25)
Pour que cela fonctionne correctement il faut valider cette partie en matricielle, c'est à dire par les touches Ctrl+Shift+Entrer. Cette partie va retourner une suite de 20 valeurs comportant des 0 ou des 1. Pour voir cette suite de valeur sélectionne une plage de cellules (I6:I25), rentre la formule et valide par Ctrl+Shift+Entrer.


Tu peux remarquer qu'il y a une correspondance entre les valeurs E6:E25 avec les valeurs retournées, elles sont ordonnées. Si l'on recherche dans cette plage retournée la position de la première valeur 1, on pourra l'associer avec la valeur de la plage E6:E25.


Normalement, on devrait utiliser les valeurs de la fonction NB.SI dans une plage (ou tableau) intermédiaire et utiliser une autre cellule pour rechercher et retourner la valeur. Mais restons dans une formule unique qui retournera les valeurs voulues, même si cela va se compliquer....


Ensuite avec la fonction EQUIV on va rechercher la première égale à 1 et avec la fonction INDEX on retourne la valeur. Ce qui donne une formule avec 3 fonctions imbriquées. Validation par Ctrl+Shift+Entrer
=INDEX(E$6:E$25;EQUIV(1;NB.SI(C$6:C$25;E$6:E$25);0);1);"")
Si l'on glisse vers le bas cette formule, on obtiendra systématiquement la même valeur. Il faut donc aller plus loin
et écarter la première valeur déjà retournée. On pourrait le faire par une imbrication dans la fonction NB.SI
=NB.SI(SI(NB.SI(G$6:G6;C6:C25)=0;C$6:C$25;"");E$6:E$25)
Mais seulement voilà, même si Excel ne retourne pas de message d'erreur lors de la validation, la fonction retourne un message d'erreur #VALEUR!, cela veut dire qu'elle n'accepte pas la partie conditionnelle dans le premier argument.
Il faut donc utiliser une autre fonction pouvant retourner une suite de 0 ou de 1 et acceptant la partie conditionnelle. Cette fonction s'appelle FREQUENCE.
Sans vouloir rentrer dans les détails du fonctionnement de cette fonction, il faut remplacer ce qui ne fonctionne pas par 
=FREQUENCE(SI(NB.SI(G$5:G5;C$6:C$25);"";C$6:C$25);(E:E;C:C))


En intégrant cette partie dans la fonction INDEX(...;EQUIV(1;...;0);1), voici la formule à mettre en G6, et à glisser vers le bas.
=SIERREUR(INDEX(E$6:E$25;EQUIV(1;FREQUENCE(SI(NB.SI(G$5:G5;C$6:C$25);"";C$6:C$25);(E:E;C:C));0);1);"")
Je profite que tu es en version office 2007, pour utiliser la fonction SIERREUR pour écarter le message d'erreur.

trufman, j'espère que le développement de la construction de la formule te permettra de comprendre dans les essais infructueux que tu avais fait ce qui n'allait pas. Si tu as une incompréhension sur mes explications, n'hésite pas à me le dire, j'essayerai d'y apporter un éclaircissement.

Si tu souhaites aussi voir la construction de la fonction INDEX(EQUIV()) avec la fonction des tableaux intermédiaires, pose moi la question.
@+Jean-Marie 
Hors Ligne
Rapport   Haut 

Re: CALCUL NOMBRE DE MOIS/TRIMESTRE SUR PLUSIEURS ANNEES
#50
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 11-10-2012 21h52
Re...

Arf, décidément, cette fois en F5 :
=SI((MIN($E5;G$3-1)-MAX(F$3;$D5))<0;"";DATEDIF(MAX(F$3;DATE(ANNEE($D5);MOIS($D5);1));SI($E5;MIN(DATE(ANNEE($E5);MOIS($E5)+1;1);G$3);G$3);"m"))
 Regarde les dates mentionnées dans mon précédent post.

Concernant la formule :
      - la fonction DATE() permet de retourner une valeur numérique (datesérie), en fonction des valeurs de l'année, du mois et du jour)
      - la fonction DATEDIF() très peut documenter dans l'aide d'excel, elle permet de retourner l'écart en NB de jours ou de mois ou d'année entre les deux dates des deux premiers arguments.
Pour obtenir le nb de jours il faut indiquer  "d", pour le nb d'année il faut indiquer "y" en troisième argument. Encore une petite précision sur cette fonction, on indique la date de début (la plus faible) au 1er argument, la date de fin (la plus forte) en 2ème argument)

Si tu as des questions, j'essayerai d'y répondre.

@+Jean-Marie




Pièce jointe:
zip ENP FORUM.zip   [ Taille: 12.75 Ko - Téléchargements: 789 ]
Edité par JeanMarie le 11/10/2012 22:10:10
Hors Ligne
Rapport   Haut 

« 1 2 3 4 5 6 7 8 ... 29 »