Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1726 connectés 

 


 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  71  72  73  74  75  76
Page Suivante
Auteur Sujet :

[Topic Unique] Excel : Keep calm and Pivot Table !

n°3392144
arnuche
Posté le 07-02-2021 à 10:34:44  profilanswer
 

Reprise du message précédent :

MaybeEijOrNot a écrit :

E2 : =SOMMEPROD(($A$2:$A$11=$D2)*1;($B$2:$B$11>0)*1)
F2 : =SOMMEPROD(($A$2:$A$11=$D2)*1;($B$2:$B$11<0)*1)
 
Pas de matriciel.


Bien vu, je suis étonné que ça marche avec une formule si courte et sans autre fonction que SOMMEPROD, et aussi que ça renvoie le nombre de cas et pas le total des cas concernés (donc pour E2 : 3+4+4+1, ce qui ferait 12). :??:
 
pour info, ça marche aussi sans *1 mais avec * au lieu du ";" ;

Code :
  1. =SOMMEPROD(($A$2:$A$11=$D2)*($B$2:$B$11>0))


 
edit, trouvé pour afficher 12 ;

Code :
  1. =SOMMEPROD(($A$2:$A$11=$D2)*($B$2:$B$11>0)*($B$2:$B$11))


Message édité par arnuche le 07-02-2021 à 10:56:08
mood
Publicité
Posté le 07-02-2021 à 10:34:44  profilanswer
 

n°3392165
MaybeEijOr​Not
but someone at least
Posté le 07-02-2021 à 15:17:11  profilanswer
 

Je répondais à la demande qui était d'énumérer le nombre de cas, mais oui comme tu l'as très bien trouvé tu peux calculer la somme des pertes et la somme des gains mais dans ce cas là un somme.si.ens aurait suffit.
Pour l'écriture sans les ";" c'est d'ailleurs ce que j'utilise habituellement et en effet à ce moment là tu n'as qu'à multiplier tes conditions entre elles, tu peux d'ailleurs utiliser les autres opérateurs en fonction du résultat souhaité.

Message cité 1 fois
Message édité par MaybeEijOrNot le 07-02-2021 à 15:17:48

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3392169
arnuche
Posté le 07-02-2021 à 16:04:34  profilanswer
 

MaybeEijOrNot a écrit :

dans ce cas là un somme.si.ens aurait suffit.


Là par contre je n'ai pas réussi, j'obtiens 0 au lieu de 11 (avec les chiffres de mon tableau)  :??:
 
edit : c'est bon, ça marche si je remplace "=résumé!A5" par résumé!A5, ou juste A5. Il n'est pas indispensable de préciser la feuille si la formule se trouve sur la même feuille.
Ce qui donne pour le total des ventes de chaussures au-dessus de 0 ;

Code :
  1. =SOMME.SI.ENS(Histo!$B$2:$B$30;Histo!$A$2:$A$30;résumé!A5;Histo!$B$2:$B$30;">0" )


 
Et la 1ère formule est remplaçable par ;

Code :
  1. =NB.SI.ENS(Histo!$A$2:$A$30;A5;Histo!$B$2:$B$30;">0" )


Message édité par arnuche le 07-02-2021 à 17:56:41
n°3392356
LibreArbit​re
Radicalement modéré
Posté le 09-02-2021 à 16:47:26  profilanswer
 

Dites, j'y connais rien en Excel et je cherche une piste (et pas une réponse toute prête) pour ma problématique : J'ai un fichier d'inventaire avec comme première feuille une synthèse (avec quelques stats bidons) qui s'appuie sur une agrégation de lignes issues de la seconde feuille qui est constituée manuellement par les feuilles 3 et toutes les suivantes. A chaque fois que je veux actualiser les stats je suis donc obligé de faire un copié/collé de chaque feuilles 3+ pour les coller les unes à la suite des autres sur la feuille 2 et c'est stupide comme méthode.

 

Sachant qu'aucune nouvelle ligne ne sera ajoutée dans les feuilles 3 et suivantes, est-ce possible d'agréger toutes les lignes de toutes les feuilles dans une seule feuille ?

 

:jap:

 

Edit : Chaque ligne des feuille 3+ ont des cellules qui changent...
Edit 2 : Il ne faut pas tenir compte de la première ligne dans chaque feuille (les en-têtes)


Message édité par LibreArbitre le 09-02-2021 à 16:50:53

---------------
Hebergement d'images | Le topic de la VR standalone
n°3392358
arnuche
Posté le 09-02-2021 à 17:05:30  profilanswer
 

Si tu es sûr qu'aucune ligne ne sera ajoutée dans les feuilles 3 et suivantes, tu peux copier/coller avec liaison (une des options de collage) ces feuilles dans la 2ème.
Ça veut dire que ce n'est pas leur contenu qui sera copié mais qu'il y aura un lien vers les cellules de ces feuilles, donc quand les valeurs changeront dessus, elles changeront aussi sur la 2ème.

n°3392363
LibreArbit​re
Radicalement modéré
Posté le 09-02-2021 à 17:21:06  profilanswer
 

Top, c'est exactement ce que je recherche, merci beaucoup :jap:


---------------
Hebergement d'images | Le topic de la VR standalone
n°3392365
Ptit loup
Quand c'est flou, y'a un loup
Posté le 09-02-2021 à 17:53:30  profilanswer
 

Plutôt que d'agréger tout dans une feuille 2 qui a priori n'a pas l'air de te servir à grand chose, ne peux tu pas faire tes stats en te basant sur les feuilles 3,4,5... directement ?
Ca t'évite une redite de l'information qui n'est pas forcément utile, non ?

n°3392392
LibreArbit​re
Radicalement modéré
Posté le 10-02-2021 à 09:59:10  profilanswer
 

Non car c'est lié à un audit et au suivi de corrections suite aux résultats de ce dernier : La feuille 1 donne le total des environnements à tester (des hostnames en fait) ainsi que le pourcentage d'avancement, qui s'appuie sur une liste de hostname présents sur la feuille 2. La feuille 3 agrège le résultat de l'audit (hostname et 30 critères évalués via un script dont le contenu généré est copié/collé dans les cellules) de toutes les autres feuilles et ensuite viennent les feuilles contenant le résultat de l'audit ventilé par client.

 

En fait seule la feuille 1 intéresse mon manager et les autres ne me servent qu'à moi mais à l'origine il voulait l'avancement par client (et plus maintenant, d'où le fait de ne pas se baser uniquement sur la feuille 3 car il peut changer d'avis et de toute façon certaines actions correctrices imposent de prévenir les clients via un workflow)...


Message édité par LibreArbitre le 10-02-2021 à 10:01:04

---------------
Hebergement d'images | Le topic de la VR standalone
n°3392396
Aardpeer
Transmuteur grognon de Bluxte
Posté le 10-02-2021 à 10:15:58  profilanswer
 

Bon je reviens sur mon fichier de 33 TCD. J'ai fait une macro qui fonctionne bien, mais par contre ça a doublé la taille de mon fichier. Ca vous semble plausible ? (macro non optimisée bien sûr :o)

 

(je suis passé de 6Mo à 12Mo, en conservant le même nombre de TCD et de GCD)


Message édité par Aardpeer le 10-02-2021 à 10:17:06
n°3392400
Ptit loup
Quand c'est flou, y'a un loup
Posté le 10-02-2021 à 10:37:36  profilanswer
 

La mise en forme, bordures, couleurs, polices,... peuvent parfois influer pas mal sur les tailles des fichiers.
Si tu n'as rien changé d'autre et que ton volume de données est sensiblement le même, as-tu peut être modifié des mises en forme ?

mood
Publicité
Posté le 10-02-2021 à 10:37:36  profilanswer
 

n°3392423
Aardpeer
Transmuteur grognon de Bluxte
Posté le 10-02-2021 à 14:48:58  profilanswer
 

C'est ça qui m'étonne, c'est que je n'ai rien changé d'autres qu'ajouter quelques macros et boutons pour déclencher ces macros. Le gros des données et des dispositions restent équivalentes...

n°3392810
MaybeEijOr​Not
but someone at least
Posté le 16-02-2021 à 10:00:28  profilanswer
 

Bonjour,

 

Quelqu'un peut m'expliquer cela (je suis en colonne K et les résultats de comparaison ne sont pas bons dans les 2 premiers exemples mais bon dans le 3ème) ?
https://i.ibb.co/xCSTMyN/excel-pbcomp1.png
https://i.ibb.co/Bcvp4s7/excel-pbcomp2.png
https://i.ibb.co/dWpX5KJ/excel-pbcomp3.png

 

Comment se fait-ce que les deux premiers résultats ne sont pas corrects ? Même en rentrant en F391 "39,8" à la main et en J391 "40" à la main ça ne me sort pas le bon résultat de la comparaison. Quand on fait simplement le calcul, on tombe bien sur 0,2.


Message édité par MaybeEijOrNot le 16-02-2021 à 10:01:25

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3392813
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-02-2021 à 10:13:25  profilanswer
 

Attention : 0,2 n'est pas supérieur à 0,2
 
Maintenant... il faudrait que tu affiches + de décimales, probablement que ta ligne 3120 te donne une valeur qui arrondie donne 0,2, mais qui est légèrement inférieure sinon.

n°3392828
MaybeEijOr​Not
but someone at least
Posté le 16-02-2021 à 11:40:58  profilanswer
 

Je sais bien que 0,2 n'est pas supérieur à 0,2 et c'est bien ce que je veux.
 
En colonne F c'est des données acquises, pas de problème de décimales, elles sont toutes affichées.
En colonne J j'ai cette formule : =10*TRONQUE((F3120+0,2)/10;0). Mais même en remplaçant directement par la valeur ça ne change rien.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3392829
Aardpeer
Transmuteur grognon de Bluxte
Posté le 16-02-2021 à 11:49:29  profilanswer
 

C'est assez étonnant, mais le résultat est reproductible. Et il semble que ce soit le passage à l'opposé/l'absolu qui foute le bordel dans les virgules. Si tu affiches 15 chiffres après la virgules, tu verras que pour 39.8 et 69.8, ca donne un nombre > 0.2 et pour 129.8 un nombre <0.2.
Je te conseille de faire la détermination sur le résultat de la soustraction plutôt que d'activer une fonction absolu

 

edit : sur la soustraction seule ca ne marche pas non plus, problème à la 15è virgule. Tu vas devoir passer par un arrondi du résultat de ta soustraction


Message édité par Aardpeer le 16-02-2021 à 11:51:56
n°3392830
MaybeEijOr​Not
but someone at least
Posté le 16-02-2021 à 12:21:57  profilanswer
 

Oui en effet c'est la soustraction qui merde. Ce doit être une magie des nombres à virgule, un problème en fonction du mantra et de l'inversion du dernier bit.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3392834
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-02-2021 à 12:57:24  profilanswer
 

Ah oui... c'est tout à fait ça. Bien vu ! désolé d'avoir répondu "basiquement" sur mon premier retour...
 
Le résultat "s'inverse" à 8, 32, 128, 512... etc...

n°3392835
Aardpeer
Transmuteur grognon de Bluxte
Posté le 16-02-2021 à 14:36:47  profilanswer
 

J'aurais répondu comme toi de base aussi, difficile d'y voir un souci d'excel avant de passer les erreurs classiques en reuve.

n°3392838
MaybeEijOr​Not
but someone at least
Posté le 16-02-2021 à 15:09:10  profilanswer
 

Aardpeer a écrit :

C'est ça qui m'étonne, c'est que je n'ai rien changé d'autres qu'ajouter quelques macros et boutons pour déclencher ces macros. Le gros des données et des dispositions restent équivalentes...


Sans aucune perspicacité, une macro étendrait peut-être la plage de données en incluant des lignes et/ou colonnes vides ?


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3392846
Aardpeer
Transmuteur grognon de Bluxte
Posté le 16-02-2021 à 18:15:45  profilanswer
 

C'est fort possible, j'ai fait ca comme un sagouin :(

n°3392863
Lagwiyann
Posté le 17-02-2021 à 08:54:10  profilanswer
 

:hello:
 
Je bloque sur un point méthodo.
J'ai un classeur excel avec une dizaine de feuilles.
Une feuille = un tableau qui contient les données concernant les commandes d'un client
Chaque tableau contient les mêmes colonnes.
La mise à jour de ces tableaux est manuelle (soit via export du logiciel soit par l'ajout direct de commentaires dans les cellules).
 
Je dois réaliser 3 choses :
- Sortir de l'ensemble des tableaux 3 nouveaux tableaux (commande de moins d'un an, commande de plu d'un an et de moins de 30k et commande de plus de 3 ans)  
- Faire un graph par client avec les types de commandes
- Faire un graph global tous les clients par types de commandes.
 
Le point est que ces choses doivent se mettre à jour au fur et à mesure que les infos des tableaux initiaux sont complétées.
 
En gros, pour me faciliter la vie, il faut que je puisse concaténer les données de chacun de mes tableaux clients dans un tableaux global (dans lequel je rajoute une colonne "Client" pour faire mes filtres / graph par la suite). Ce tableau global devra reprendre les infos mises à jour de chaque petit tableau. Ensuite je pensais partir sur des filtres élaborés pour sortir les données proprement (avec une macro qui "rafraichit" la manip' ).
 
Quelle solution vous parait la plus adaptée pour globaliser mes données ? Une requête ? Une macro ? Un TCD multitables ? Un truc magique auquel j'ai pas pensé ?


Message édité par Lagwiyann le 17-02-2021 à 08:54:30
n°3392873
Aardpeer
Transmuteur grognon de Bluxte
Posté le 17-02-2021 à 10:27:09  profilanswer
 

à partir du moment où tu auras des données organisées de telle façon qu'elles sont exploitables en TCD, tu pourras sortir les graph nécessaires (via excel ou via un truc plus puissant genre BI).
le problème va venir de la transformation Feuilles Isolées → Données Exploitables dans un seul tableau

n°3392874
Lagwiyann
Posté le 17-02-2021 à 10:33:48  profilanswer
 

Aardpeer a écrit :

à partir du moment où tu auras des données organisées de telle façon qu'elles sont exploitables en TCD, tu pourras sortir les graph nécessaires (via excel ou via un truc plus puissant genre BI).
le problème va venir de la transformation Feuilles Isolées → Données Exploitables dans un seul tableau

 

Effectivement la seconde partie ne m'inquiète pas trop, y'a plusieurs options et je vois assez facilement comment faire.

 

C'est bien la partie feuilles > données dans un tableau qui me chiffonne.   :sweat:

n°3392875
Ptit loup
Quand c'est flou, y'a un loup
Posté le 17-02-2021 à 11:05:58  profilanswer
 

Tu pourrais sûrement gérer ça avec des formules... mais vu que ton nombre de lignes va être variable d'une feuille à l'autre, ça ne sera pas le plus simple, et encore moins maintenable.
 
Sur ce coup là je suggèrerait une recopie des infos qui vont t'intéresser dans chaque feuille via du code VBA qui viendra prendre facilement les infos qui t'intéressent de façon précise.
Ensuite tu fais tes graphes sur ta feuille "résultat"..

n°3392880
Aardpeer
Transmuteur grognon de Bluxte
Posté le 17-02-2021 à 12:18:38  profilanswer
 

Ouais, je pensais comme P'tit Loup.

n°3392881
Lagwiyann
Posté le 17-02-2021 à 12:39:43  profilanswer
 

Bon ça sera macro alors.  :D

 

Y'a visiblement pas encore de solution "intégrée" pour ça.

n°3392887
DjiDji5943​0
Posté le 17-02-2021 à 15:41:42  profilanswer
 

Bonjour à tous,
 
power query qui te fera des tableaux qui se mettront a jours et dont tu pourras te sevir dans des tcd

n°3393051
LibreArbit​re
Radicalement modéré
Posté le 19-02-2021 à 13:27:48  profilanswer
 

Lagwiyann a écrit :

Bon ça sera macro alors. :D

 

Y'a visiblement pas encore de solution "intégrée" pour ça.


Ça reste un tableur hein :o


---------------
Hebergement d'images | Le topic de la VR standalone
n°3393655
otobox
Maison fondée en 2005
Posté le 27-02-2021 à 18:52:54  profilanswer
 

:hello:  
 
j'étais persuadé qu'avec VBA on pouvait faire :

Code :
  1. Range("A1:D1" ) = Range("A3:D3" )


pour copier une plage vers une autre...
Or, ça ne fonctionne pas...  
Ceci fonctionne pour une cellule :

Code :
  1. Range("A1" ) = Range('"A3" )


mais ça ne semble pas fonctionner pour une plage. J'ai rêvé ou je rate quelque chose ?
 
Je connais la fonction range().Copy mais je ne souhaite pas l'utiliser. A part itérer sur chaque cellule avec for...each et recopier les valeurs une par une, existe t-il une façon élégante et rapide de copier une plage vers une autre ?
 
Merci :)

Message cité 1 fois
Message édité par otobox le 27-02-2021 à 18:54:31

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°3393684
MaybeEijOr​Not
but someone at least
Posté le 28-02-2021 à 13:09:43  profilanswer
 

otobox a écrit :

:hello:  
 
j'étais persuadé qu'avec VBA on pouvait faire :

Code :
  1. Range("A1:D1" ) = Range("A3:D3" )


pour copier une plage vers une autre...
Or, ça ne fonctionne pas...  
Ceci fonctionne pour une cellule :

Code :
  1. Range("A1" ) = Range('"A3" )


mais ça ne semble pas fonctionner pour une plage. J'ai rêvé ou je rate quelque chose ?
 
Je connais la fonction range().Copy mais je ne souhaite pas l'utiliser. A part itérer sur chaque cellule avec for...each et recopier les valeurs une par une, existe t-il une façon élégante et rapide de copier une plage vers une autre ?
 
Merci :)


Non, c'est l'intérêt du .Copy donc je ne vois pas pourquoi il y en aurait un autre...


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°3393687
otobox
Maison fondée en 2005
Posté le 28-02-2021 à 14:14:49  profilanswer
 

Le problème avec .Copy c'est que non seulement ça copie tout, y compris le format (sauf si on rajoute toutes les options := format false etc. ce qui alourdit le code). Et puis avec .Copy, lors de l'exécution du code, on voit que la cellule se sélectionne avec la bordure qui se met en pointillés scintillants, et je n'aime pas ça, je ne veux pas  mettre des Application.ScreenUpdating = True/False à chaque bout de code.
 
Mais eureka ! j'ai fini par trouver :) En fait, oui, je ratais quelque chose ! Voici un exemple de code qui fonctionne parfaitement :


'Copie le contenu du range A1:C2 dans les cases A4:C5
Range(" A4:C5" ) = Range("A1:C2" ).value


Il fallait juste rajouter .Value au range source... C'est comêm' plus simple et élégant que .Copy :)


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  71  72  73  74  75  76
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[EXCEL] Faire une mise à jour dynamique de valeur entre champsExcel : rechercher et afficher une liste
[EXCEL] Conversion/multiplication de massequestions sur la téléphonie avec free en 512k
Excel: Comment insérer automatiquement un titre à chaque page ?[excel] largeur de colonne différente
[Excel] (N00B Inside :-/ )Je veux additionner ...2 questions urgentes : Remplacer Photoshop et achat de scanner
changer la police par défaut sous Excel[Excel] Comment faire pivoter une feuille ?
Plus de sujets relatifs à : [Topic Unique] Excel : Keep calm and Pivot Table !


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR