Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 2 sur 12 PremièrePremière 12345678910 ... DernièreDernière
Affichage des résultats 31 à 60 sur 352

Discussion: Excel

  1. #31


    Excel, ça fait gagné du temps (rechercher remplacer dans des formules sur un onglet)
    Mes propos n'engagent personne, même pas moi.

  2. #32
    Citation Envoyé par Neo_13 Voir le message
    Excel, ça fait gagné du temps (rechercher remplacer dans des formules sur un onglet)


    Attends, mais si tu pilotes ça depuis une macro, ça ouvre une nouvelle dimension dans l'obfuscation de feuilles Excel!
    Tu dois même pouvoir faire de la récursivité comme ça.


  3. #33
    Coucou Messieurs-Dames !

    Je débute sur Excel et tout et j'essaye de comprendre des trucs, de trouver des tips pour aller plus vite sur les fiches de paye, tout ça.
    Là je me demande par exemple s'il existe une formule générique pour faire ceci :

    Onglet 1 : cellule F35 A, cellule F45 B=A

    Onglet 2 : cellule F35 A', cellule F45 B'=A'+B

    Onglet 3 : cellule F35 A", cellule F45 B"=A"+B' etc.

    Pour le moment je fais tout à la main (B"=clic sur A"+changement d'onglet et clic sur B') ce qui est assez relou vu le nombre de fiche de paye qu'il m'arrive de faire par mois.
    Alors ? Existe-t-il un truc que j'aurais zappé et qui automatiquement ferait que la case B est égale à sa voisine A additionnée à la case B de l'onglet précédent ?
    Genre :

    Onglet 3 : cellule F35 A", cellule F45 B"= F35+F45-de-l'onglet-d'avant

    J'en doute un peu vu que l'onglet précédent est désigné par son nom dans la formule telle qu'elle apparait quand je fais la manip' manuellement et non pas par un nom générique genre n-1, mais j'aime autant demander poliment, sait-on jamais.

    \_o< coin coin
    Spoiler Alert!
    nu si découvert

  4. #34
    On peut.

    Mais on rentre soit dans les macros, soit dans l'excel moche... (et ultra lent, donc si grosse manip' par macro, penser à bloquer l'autocalcul).

    Attention ça va piquer
    Via STXT(CELLULE("nomfichier")), avec les bons paramètres, tu auras le nom de l'onglet
    Ensuite, un RECHERCHEV(nom) dans un tableau "de référence" pourra attribuer un numéro
    Puis avec un INDIRECT tu pourras recréer la formule en utilisant ce numéro -1

    Ca nécessite juste une feuille où tu stockes dans l'ordre les noms des feuilles, en fait.

    Et un INDIRECT, ça amène le mal dans tes formules, parce que c'est surpuissant comme truc et surpuissamment illisible en cas de bug. Exemple d'une formule (matricielle en plus) :
    =SOMME(SI(INDIRECT("'"&LC2&"'!L3C6:L134C25";FAUX)-INDIRECT("'"&L7C&"'!L3C6:L134C25";FAUX)>=0;1;0))/NB.SI(INDIRECT("'"&L7C&"'!L3C6:L134C25";FAUX);"<8" )*20
    Mes propos n'engagent personne, même pas moi.

  5. #35
    Citation Envoyé par Møgluglu Voir le message


    Attends, mais si tu pilotes ça depuis une macro, ça ouvre une nouvelle dimension dans l'obfuscation de feuilles Excel!
    Tu dois même pouvoir faire de la récursivité comme ça.

    Putain, c'est clair, là, ça pourrait être un pas en avant.

    Si tu rajoutes des formules indirectes et des macros auto modifiantes, t'as un code abominablement illisible partout, et fonctionnel. Et obfuscer d'une force !!!!!!

    Quand je vois qu'un consultant malhonnête, en quelques lignes, pourrait faire disparaitre à une certaine date toutes les formules et toutes les macros d'un fichier en masquant ses traces, y compris en écrasant le fichiers de référence sur serveur distant, je me dis que les clients qui ne lisent pas une ligne du boulot sont des bienheureux.

    Et je suis honnête.
    Mes propos n'engagent personne, même pas moi.

  6. #36
    Citation Envoyé par Neo_13 Voir le message
    On peut.

    Mais on rentre soit dans les macros, soit dans l'excel moche... (et ultra lent, donc si grosse manip' par macro, penser à bloquer l'autocalcul).

    Attention ça va piquer
    Via STXT(CELLULE("nomfichier")), avec les bons paramètres, tu auras le nom de l'onglet
    Ensuite, un RECHERCHEV(nom) dans un tableau "de référence" pourra attribuer un numéro
    Puis avec un INDIRECT tu pourras recréer la formule en utilisant ce numéro -1

    Ca nécessite juste une feuille où tu stockes dans l'ordre les noms des feuilles, en fait.

    Et un INDIRECT, ça amène le mal dans tes formules, parce que c'est surpuissant comme truc et surpuissamment illisible en cas de bug. Exemple d'une formule (matricielle en plus) :
    =SOMME(SI(INDIRECT("'"&LC2&"'!L3C6:L134C25";FAUX)-INDIRECT("'"&L7C&"'!L3C6:L134C25";FAUX)>=0;1;0))/NB.SI(INDIRECT("'"&L7C&"'!L3C6:L134C25";FAUX);"<8" )*20

    Hmmm j'ai absolument rien compris, c'est que ça doit définitivement être trop complexe pour moi. Merci Neo, j'ai ma réponse. C'est idiot quand même, c'est un truc plutôt simple dans l'idée.
    Spoiler Alert!
    nu si découvert

  7. #37
    Tes onglets s'appellent comment ?

    EDIT : et en macro, ça se fait les doigts dans le nez.
    Mes propos n'engagent personne, même pas moi.

  8. #38
    Mes onglets portent le nom de la date de représentation. Ca donne ça :
    19.01
    27-29.01
    15.02
    etc.

    Quant aux macros j'ai déjà été content de trouver la fonction SOMME donc j'en suis pas là. J'ai seulement deux mois de fiche de paye sur Excel dans les jambes, je ne sais même pas ce que c'est. Je suppute néanmoins une probable automatisation des tâches mais c'est mon expérience des MMORPG qui me fait dire ça. :/
    Spoiler Alert!
    nu si découvert

  9. #39
    C'est simple (nan, je déconne).

    Dans ton classeur, tu crée un onglet qui s'appelle onglets. Dedans, tu met la liste des noms d'onglets en commençant dans le première cellule (A1) et en les mettant dans l'ordre, un par ligne :
    19.01
    27-29.01
    15.02

    Dans ta feuille fille (pas la première, quoi), dans la cellule où est le calcul, tu mets :
    Code:
    =F35+INDIRECT(INDIRECT("onglets!A"&EQUIV(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32);onglets!A:A)-1) & "!F45")
    Rien à faire de plus, en copiant collant la feuille fille, ça continuera à marcher tout seul (si tu mets bien le nom de la nouvelle feuille dans la liste des onglets).

    Explications :
    - CELLULE("filename";A1) renvoie la feuille avec le nom du fichier (avec le chemin complet)
    - le STXT ne garde que la partie à droite du crochet (Excel nomme la feuille avec lect:\chemin\[nom.xls]NomFeuille (le nom de l'onglet doit faire max 32 caractères, sinon, changer le 32)
    - le TROUVE y ajoute la référence de la cellule correspondant à ce nom d'onglet dans la liste et fait -1 sur la ligne
    - le INDIRECT permet d'accéder à la valeur de cellule qui a pour référence le nom de la feuille et la cellule, parce qu'on l'a construit sous forme de texte. On obtient donc le nom de l'onglet précédent
    - Puis on lui concatène le F45 et fait un autre INDIRECT pour choper la valeur stockée dans cette cellule.

    Voilà, c'est simple, non ?

    Reste plus qu'à faire un rafraichissement auto de la liste des onglets, mais du coup, mieux vaut faire une petite macro VB que tu appelle dans ta cellule (qui va chercher la valeur dans le feuille - 1, immédiat en code V.

  10. #40
    Voilà...
    Mes propos n'engagent personne, même pas moi.

  11. #41
    Bonjour, je reprends ce thread pour vous exposer mon problème.

    Je dois monter une base de données par Excel 2003 (que par Excel et pas Acces) au boulot pour les échantillons testés.
    Ca doit géré un grand nombre de paramètres (plus d'une centaine) qui peuvent se traduire par des résultats chiffrés ou littéraires (oui/non/absence/date...). Le but de cette base de données est de pouvoir sortir 2/3 paramètres rapidement sur une durée par exemple.

    J'avais donc pensé faire un tableau dynamique croisée. Mais je n'y arrive pas. Les résultats ne s'affichent que sous la forme 0/1 sans que je trouve la raison. Excel me fait aussi des totaux dont je me fous. Bref, j'aimerais avoir un petit d'aide.
    Je mets en ligne un ptit fichier pour que vous voyez de quoi je parle.

    https://spreadsheets0.google.com/ccc...JMMdB6xQ&hl=fr

    Merci d'avance.

  12. #42
    Si je comprends bien ton tableau, il n'y a que les paramètres (les données source), mais pas les résultats ou ce que tu veux en faire. Du coup, je ne comprends pas ce que tu entends par "sortir 2/3 paramètres rapidement sur une durée par exemple"...

  13. #43
    Pareil, pas compris.
    Dis nous quel type de sortie tu veux en fonction de quoi en entrée.
    Et par rapport à ton fichier, un exemple pour aider à comprendre.

  14. #44
    En fait, j ai des echantillons qui ont des centaines de parametres. Je veux pouvoir isoler des parametres pour pouvoir suivre leur evolution sur plusieurs echantillons et pouvoir egalement faire un graph

  15. #45
    Euh, toujours pas compris
    Tu as plusieurs échantillons, chacun ayant plus de 100 paramètres (les mêmes pour tous les échantillons, je suppose) et tu veux extraire 2 ou 3 paramètres pour tous les échantillons, c'est ça ?
    Si oui, questions :
    - Tes échantillons sont en colonne (5, 8, 17 dans ton exemple), c'est ça ?
    - Ta restitution, tu la veux comment, un tableau avec seulement les 2-3 lignes ?

  16. #46
    Je te le refais depuis un ordi et pas depuis mon portable. Je vais essayer d'être clair.

    Je reprends l'exemple que j'ai mis en ligne sur google il y a 2 postes. J'ai des échantillons notés 5/8/17 sur l'exemple prix. Comme tu as pu le voir, chaque échantillon est défini par un nombre de paramètres, ici une douzaine, notés par un numéro avec un libellé (poussière, soleil, nuage). C'est un exemple.

    Mon but est de créer un tableau dynamique dans l'absolu ou quelque chose dans l'idée pour pouvoir sur des centaines d'échantillons pouvoir comparer quelques paramètres rapidement. Par exemple pouvoir suivre l'évolution de la poussière et du soleil entre les échantillons 5/8/17, sachant que cela je vais le faire sur des centaines d'échantillons. Et la finalité, c'est de pouvoir sortir des courbes de suivi.

    Mon problème je pense est que je travaille sur un tableau à double entrée. Les échantillons en colonne et les paramètres en ligne.

    Pour répondre à tes 2 questions, mes échantillons sont en colonne. Pour la restitutions, effectivement, je voudrais un truc lisible.

  17. #47
    Pour les graphes, c'est pas gagné (valeurs non numériques)
    Tu compares tes 2-3 paramètres toujours sur tous les échantillons ou seulement sur quelques uns.
    Si c'est la première solution, je ferais :
    - un 2ème onglet, avec un tableau en dur, de 3 lignes (ou plus) sur autant de colonnes que d'échantillons (l'entête de colonne est un renvoi sur l'onglet d'avant).
    - Dans ta "base", tu nommes la plage des noms de paramètres,
    - Dans ton tableau résultat, les entêtes de ligne des 3 (ou plus) lignes sont de type validation / liste pointant sur ta plage nommée et les données sont recherchées dans ta base avec un RECHERCHEV en se servant du n° de colonne pour n'avoir qu'une seule et même formule à étendre chaque fois que tu rajoute un échantillon.
    Edit
    Ça :
    et la formule dans les cases, c'est :
    qu'il suffit d'étendre aux autres colonnes et lignes. Le tableau dans la base de données et comme celui que tu as mis, en commençant dans le coin (A1)
    Dernière modification par XWolverine ; 27/05/2010 à 10h23.

  18. #48
    Je compare les échantillons selon la demande. Donc il faut que je fasse une sélection des échantillons qui m'intéresse au cas par cas. C'est pour cela que le tableau dynamique dans l'absolu me paraissait une bonne solution. Maintenant je vais essayer ta solution qui me parait un choix intéressant.

    Le but est vraiment de pouvoir sélectionner rapidement les échantillons ainsi que les paramètres voulus pour pouvoir les comparer assez rapidement. Sachant que les paramètres se chiffrent en centaine et les échantillons en milliers.

  19. #49
    A ta place, je modifierai ton tableau pour avoir tes données en ligne:
    - un tableau avec les paramètres (tes trois premières colonnes)
    - un tableau avec les résultats (+ une colonne Date):
    échantillon / n° paramètre / date / résultat

  20. #50
    Faut que ca reste sur un seul tableau je pense car c'est un fichier qui va être utilisé par plusieurs personnes. Par contre XWolverine, je veux bien que tu up ou que m'envoies le fichier que tu as fait et montré en exemple s'il te plait.

  21. #51
    Citation Envoyé par BoZo Voir le message
    ... et les échantillons en milliers.
    Alors j'espère que tu as un Excel récent, parce que les vieux sont limités à 256 colonnes.

  22. #52
    Bon, on peut étendre ma solution au cas où on choisit aussi l'échantillon.

    Tu nommes aussi ta plage d'entête d'échantillons.
    Tu met aussi tes entêtes du tableau résultat en validation de type liste.
    Le formule des données recherchées utilise un EQUIV pour trouver la colonne à renvoyer dans le RECHERCHEV.

    Exemple en fichier attaché. Clique sur les entêtes pour choisir les paramètres et les échantillons.
    Attention, tout est en dur, si tu décale les tableaux, faut changer la formule et la ré-étendre.
    Faudrait peut-être étendre les plages nommées d'une case pour permettre l'insertion d'une nouvelle ligne de paramètre ou d'une nouvelle colonne d'échantillon sans que ça sorte des plages nommées.

  23. #53
    Merci, je vais regarder cela pendant ma pause. Même si finalement je n'exclus pas la solution d'Ylyad. Merci en tout cas!

  24. #54
    La solution d'Ylyad est plus propre dans un sens base de données.
    Dans l'optique Excel (pas base de données), ça ne va pas aider à la visu de la saisie (présentation moins évidente), mais ça devrait permettre le tableau croisé dynamique, moins convivial que ma solution mais plus carré (marchera sans rien à changer). A voir si on peut facilement choisir autant de valeurs de restriction que voulu (echantillon = 1 ou 5 ou 8 ou 17 ou ...), je ne connais pas trop les TCD.

  25. #55
    Je confirme que tu peux créer un tableau dynamique pour le fichier de XWolverine. Tu insères un tableau 2D, pour les datas tu choisis le tableau avec entetes, et tu changes une valeur ensuite, ça changera la valeur dans le tableau.

  26. #56
    Salut, c'est encore moi

    Je me demande s'il existe la possibilité sur un graphique de virer sur une série de points, les 10 ou 20% les plus éloignés de la valeur médiane?

  27. #57
    Citation Envoyé par BoZo Voir le message
    Salut, c'est encore moi

    Je me demande s'il existe la possibilité sur un graphique de virer sur une série de points, les 10 ou 20% les plus éloignés de la valeur médiane?
    oui c'est possible mais c'est du VB, TOUT est possible avec excel en passant par du VB. Il faut faire une macro (enfin un programme) qui efface les points dont tu veux pas en fonction de tes critères j'espere que tu kiffe la POO sale

  28. #58
    Bon petit déterrage de sujet en règle. J'ai un classeur qui doit servir de calculatrice à coût de brevet. Hors, je dois, bien évidemment, m'arranger pour avoir des années fiscales et non des années de calendrier, soit différent de ma rustine temporaire. Actuellement, j'utilise l'année "absolue" directement, donnant des erreurs d'une année parfois. Donc au lieu d'avoir 2011 par exemple, je devrais avoir soit 2010/2011 soit 2011/2012. Et autant c'est facile de dire quel cas je dois avoir, autant, est-ce qu'on peut automatiser le fait d'avoir "année générée à partir d'une date sur le tableau" / "autre année générée à partir d'une date sur le tableau" ?

    Et comble du bonheur, il faudrait que ça ne passe pas par VBA, puisque je n'ai certainement pas le temps d'apprendre du VBA avant la fin de mon stage pour finir ça

  29. #59
    Citation Envoyé par skyblazer Voir le message
    Bon petit déterrage de sujet en règle. J'ai un classeur qui doit servir de calculatrice à coût de brevet. Hors, je dois, bien évidemment, m'arranger pour avoir des années fiscales et non des années de calendrier, soit différent de ma rustine temporaire. Actuellement, j'utilise l'année "absolue" directement, donnant des erreurs d'une année parfois. Donc au lieu d'avoir 2011 par exemple, je devrais avoir soit 2010/2011 soit 2011/2012. Et autant c'est facile de dire quel cas je dois avoir, autant, est-ce qu'on peut automatiser le fait d'avoir "année générée à partir d'une date sur le tableau" / "autre année générée à partir d'une date sur le tableau" ?

    Et comble du bonheur, il faudrait que ça ne passe pas par VBA, puisque je n'ai certainement pas le temps d'apprendre du VBA avant la fin de mon stage pour finir ça
    C'est pas très compliqué... Avec une macro.
    Sans VBA, je vois pas.

  30. #60
    Citation Envoyé par skyblazer Voir le message
    Et autant c'est facile de dire quel cas je dois avoir, autant, est-ce qu'on peut automatiser le fait d'avoir "année générée à partir d'une date sur le tableau" / "autre année générée à partir d'une date sur le tableau" ?
    J'ai rien compris, mais :
    CONCATENATE(Année1, " / ", Année2) ?

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •