Retraiter une base de données Excel

Bonjour à tous,

Je ne suis pas un pro des macros sur Excel et je voudrais les éviter car je souhaite absolument comprendre les formules que j'utilise.

Mon souci :

--> A partir d'une extraction en format Excel d'un livre de paie, je souhaiterais récupérer certaines des données pour les retravailler. Or, cette extraction se fait par salarié, mais les uns en dessous des autres.

Et le salarié peut avoir 10 lignes, le salarié B, 20...etc.

Donc, rien qui ne puisse se faire basiquement.

Il faudrait donc que j'arrive à mettre en colonne ce qui est en ligne, et que les éléments de chaque ligne se mettent automatiquement dans la bonne colonne.

Souci supplémentaire : une rubrique nouvelle peut être créée (donc en ligne) en cours d'année et il me faut donc le prévoir en colonne, que cela s'intégre bien au "bon endroit".

C'est là, je pense, qu'il faut tenir compte du code rubrique.

Ci-joint, un fichier de 2 onglets :

Onglet A : base (l'extraction pure et simple)

Onglet B : résultat (ce que je souhaiterais obtenir de façon la plus automatique possible)

Pouvez-vous m'aider ?

Merci de votre aide.

Salut,

As-tu essayé avec un tableau croisé dynamique ?

Il pourra surement faire la synthèse de toutes tes données !

Salut,

Merci de ta réponse.

Mais cela ne colle pas.

Le tableau croisé dynamique est limité dans sa taille à 256 colonnes me semble-t-il, et Excel me propose alors un tableau incomplet !

Or, mon livre de paie est nettement plus important en nombre de salariés, donc, ce n'est pas jouable.

Sinon, j'ai essayé de mélanger une recherche verticale avec des conditions à rallonge, mais je me perd royalement !

Merci quand même et peut-être à, bientôt.

Bonjour

Après avoir nommé les différentes plages de la Feuille Base (Voir les Noms définis et leur utilisation dans les formules)

4 formules pour toute la Feuille

Colonne A, la première formule en A2 est différente du reste de la colonne qui est en saisie matricielle (avec les 3 touches Ctrl+Maj+Entrée)

en A2

=PETITE.VALEUR(Matricule;1)

en A3 incrémentée vers le bas (Matricielle à valider avec les 3 touches Ctrl+Maj+Entrée)

=SI(NB.SI(Matricule;">"&A2)=0;"";PETITE.VALEUR(SI((Matricule>A2);Matricule);1))

en B2, incrémentée vers le bas et vers la droite jusqu'à la colonne D, un simple RECHERCHEV

=SI($A2="";"";RECHERCHEV($A2;Tableau;COLONNE();FAUX))

et en E2, incrémenté sur tout le reste du tableau

=SI(SOMMEPROD((Matricule=$A2)*(Rubrique=E$1))=0;"";SOMMEPROD((Matricule=$A2)*(Rubrique=E$1);Montant))

Cordialement

Salut,

Merci de ta réponse.

J'ai fait l'essai.

Concernant ta 2éme formule :

Il me semble la comprendre, mais elle ne fonctionne pas. Le résultat affiché est zéro.

Voir ci-joint.

Pourtant, quand je la décompose en cliquant sur le fx (fonction), le résultat affiché est correct (398).

Mais c'est zéro qui apparait dans le tableau.

Dernière formule :

Alors là, je nage totalement.

Pourquoi des produits ?

Merci de m'éclairer et de me permettre d'apprendre.

Bonne soirée.

Bonjour

Pour la formule qui renvoie 0 (sur ton fichier, pas sur le mien) tu remarqueras que j'ai insisté sur le caractère matriciel se la formule avec une validation avec les 3 touches Ctrl+Maj+Entrée.(tu cliques sur la formule DANS la varre de formule et tu appuies simultanément sur les 3 touches Ctrl+Maj+Entrée)

Pour le reste, tu as une explication sur ce nouveau fichier.

Cordialement

Bonsoir,

Je reconnais que tu avais bien insisté sur le caractère matriciel de la formule.

Mea Culpa.

Effectivement, maintenant, la 1ère formule fonctionne bien.

Concernant la dernière, elle fonctionne également, mais je ne la comprends pas vraiment.

Mais bon, ça marche et c''est cela l'essentiel.

En tout cas, un ENORME merci pour ton aide, précieuse, et aussi pour ta réactivité.

Merci pour tout et je n'hésiterai pas à te solliciter en cas de besoin.

Si tu le veux bien, évidemment.

Bonne soirée.

Rechercher des sujets similaires à "retraiter base donnees"