Un code automatisé VBA ?

Bonsoir,

Je viens à vous pour une petite demande en VBA, un langage dont je n'ai absolument aucune connaissance à mon plus grand regret.

L'idée principale est d'obtenir un tableau à partir d'un autre, de façon à en récupérer certaines infos. Jusqu'à présent, c'était un travail fait à la mano et l'idée serait d'automatiser tout ça pour ne plus avoir besoin de le refaire systématiquement. C'est un gain de temps minime mais qui peut se révéler conséquent sur le terme. Le fichier excel est ci - joint dans ce message. On y retrouve à gauche le tableau de départ (obtenu via un autre logiciel de traitement de données et juste copié - collé ici), et à droite, le tableau d'arrivée.

Dans notre tableau de départ, on a :

  • Le groupe d'appartenance (variable, on peut en avoir 2 comme on peut en avoir une centaine).
  • L'identifiant (unique par groupe).
  • Le type (un VRAI et que des FAUX dans chaque groupe).
  • Le chiffre d'affaire en 2015.
  • Le chiffre d'affaire en 2016.
  • L'évolution du chiffre d'affaire entre 2015 et 2016.

Dans notre tableau d'arrivée, on veut avoir :

  • Pour chacun des groupes (+ un total), la somme du CA en 2015, en 2016 et l'évolution liée. Ce, pour les VRAI puis les FAUX. Ainsi qu'une colonne qui soustrait les évolutions des FAUX versus celle des VRAI.
  • Deux formules matricielles en dessous.

Le souci principal auquel je suis confronté, c'est que je ne sais pas d'avance combien de groupe je vais avoir et donc que la taille de mon tableau d'arrivée est assez variable. Du coup, je ne sais pas s'il y a un moyen de déterminer ce nombre de groupe et que cela soit pris en compte pour le tableau d'arrivée en conséquence. De même pour les formules statistiques qui prennent en compte ce nombre de groupe dans la sélection.

En bref, l'idée est d'obtenir ce tableau d'arrivée en copiant le tableau de départ. Est - ce faisable, est - ce difficile à faire ? Cela est plus ou moins simple à faire à la main, mais je n'ai aucune idée de ce que cela pourrait donner par VBA.

19test-vba.xlsx (15.58 Ko)

Bonjour,

As tu essayé un TCD ?

22test-tcd.xlsx (26.15 Ko)

Bonjour,

Un début de réponse à étudier.

Cdlt.

Bonjour Eliam,

Tu penses donner de tes nouvelles ?

Cdlt.

Hello,

Milles excuses pour mon absence, je n'ai pas eu accès à internet pendant un moment.

Je préfère exclure pour le moment l'hypothèse d'un tableau croisé dynamique, il est effectivement possible d'obtenir le résultat voulu, même si la mise en forme serait à revoir, mais cela demanderait tout de même un temps de travail à la mano. L'idée serait vraiment de cliquer sur un bouton pour obtenir le tableau final en un clic.

Le fichier joint n'est évidemment plus disponible à cause de mon absence. Serais - ce possible de l'héberger à nouveau ?

Encore mes excuses les plus plates pour le délai de réponse,

Eliam.

Bonjour,

Je renvoie le fichier qui n'est plus disponible (???).

A te relire.

Cdlt.

14test-vba.xlsm (37.48 Ko)

Bonjour,

Merci beaucoup pour ce bout de code automatisé, qui entre totalement dans la démarche que je recherche.

J'ai pris l'initiative de commencer à toucher un peu au code pour obtenir un rendu plus proche de ce que je recherche.

  • Ordre des variables (2015 avant 2016) > OK.
  • Format des cellules (sommes en euro, arrondies à l'unité) > OK

Accessoirement, j'ai d'autres idées en têtes sur lesquelles je vais m'étendre mais cela restera plus du bidouillage qu'autre chose étant donné mes compétences en VBA.

  • Pas de nouvel onglet, tableau en sortie devrait idéalement être juste à droite du tableau en entrée.
  • "FAUX" et "VRAI" sur trois cellules et centré (possible sur un tableau croisé dynamique) ?
  • Ajout des deux formules matricielles sous le tableau (voir fichier joint).

Je vais continuer à essayer de bidouiller encore un peu de mon côté, dans l'attente d'un peu d'aide malgré tout.

Eliam.

13test-vba-v2.xlsm (39.12 Ko)

Re,

Une mise à jour à étudier.

Cdlt.

17test-vba-v2.xlsm (33.79 Ko)

Re,

La mise à jour est parfaite.

J'y ai apporté quelques dernières retouches (en particulier pour les formules matricielles), peut être un peu laborieuses.

Quoiqu'il en soit, j'ai le rendu que je cherchais à avoir, que je laisse en pièce jointe si vous avez des remarques.

Merci beaucoup pour l'aide apportée !

Eliam

20test-vba-v3.xlsm (32.97 Ko)

Re,

Pense à clore le sujet.

Cdlt.

Pas de soucis, encore merci.

Rechercher des sujets similaires à "code automatise vba"