transfert de données d'une feuille vers une autre

ludovic76

XLDnaute Nouveau
Bonjour,

Je pense que mon problème est assez basique pour une personne ayant un niveau intermédiaire, mais moi je suis débutant en VBA.

J'obtiens des données dans un tableau croisé dynamique, et je cherche à importer ces données sur une feuille principale.

Le problème est que je n'ai absolument aucune idée des objets/propriétés à utiliser pour réaliser cette opération.

Je joins le fichier qui est un exemple à basse échelle de mon projet.

En gros à partir des feuilles 1 et 4, j'aimerais obtenir la feuille 5, mais de façon automatique.

Je vous remercie d'avance.

Ludovic
 

Pièces jointes

  • Test Vba Pareto.xls
    48 KB · Affichages: 158
  • Test Vba Pareto.xls
    48 KB · Affichages: 151
  • Test Vba Pareto.xls
    48 KB · Affichages: 155

Misange

XLDnaute Barbatruc
Re : transfert de données d'une feuille vers une autre

Bonjour et bienvenue sur le forum

pas besoin de VBA ni même de TCD intermédiaire pour cela.
regarde la feuille 2

en I2 la formule doit être validée de façon matricielle puis tirée vers le bas (il y a des #N/A qui apparaisszent tu peux les laisser, les masquer par un format conditionnel ou les supprimer, au choix.
En J2 et K2, un sommeprod te fait les calculs
en revanche ne mets pas tes totaux en bas de tableaux si ceux ci sont appelés à grandir ou alors utlise la fonctionnalité tableaux de excel à partir de 2007.

reviens si ce n'est pas clair.
 

Pièces jointes

  • Test Vba Pareto.xls
    74 KB · Affichages: 213
  • Test Vba Pareto.xls
    74 KB · Affichages: 220
  • Test Vba Pareto.xls
    74 KB · Affichages: 216

ludovic76

XLDnaute Nouveau
Re : transfert de données d'une feuille vers une autre

Merci pour l'accueil, je vois que le temps de réactivité est plutôt bon :)

Je sais que je suis pas obligé d'utiliser VBA pour faire cette manip. Seulement comme je débute sur cette application, je souhaite commencer petit pour prendre la main.

Mon fichier en entreprise fait 8000 lignes. Mais ce n'est pas là le problème, c'est surtout que je dois le reproduire pour plusieurs produits, et faire la même manip, c'est gênant. Alors je me suis dit qu'il vallait mieux automatiser la manip et ensuite juste avoir à changer les noms.

Par contre j'ai bien eu ton fichier, mais je dois avouer que je ne comprends pas comment on utilise les formules. En gros, ça remplace mon tableau croisé dynamique c'est ça ?

Le but est de gagné en place ?
 

Misange

XLDnaute Barbatruc
Re : transfert de données d'une feuille vers une autre

Oui ça évite de faire un TCD.
La formule en I te permet d'extraire à partir de ta liste d'articles la liste sans doublons. Tu pourrais le faire de tas d'autres façons mais ici l'intérêt c'est que c'est juste une formule à entrer et à tirer vers le bas.
Ensuite les formules en J et K se rapportent à ton tableau de départ et pas à un TCD.

Regarde dans insertion Nom/définir, j'ai défini les noms de façon dynamique. De cette façon quand tu ajoutes des produits en bas de ta liste initiale, ils sont pris en compte dans les calculs. Il faut cependant que sur ton tableau d'arrivée, le nombre de ligne soit ajusté.
La méthode que tu veux utiliser, avec un TCD et une macro est lourde. J'adore le VBA mais les formules intégrées d'excel sont beaucoup plus rapides.
Pour dupliquer le tableau, il te suffit... de dupliquer la feuille ! tu changes les entêtes de colonne à ton gout et tu effaces les données initiales pour les remplacer par les nouvelles.

Sinon lances l'enregistreur de macro et regarde ce que donne le code avec ce que tu veux faire... Pas si simple !
 

ludovic76

XLDnaute Nouveau
Re : transfert de données d'une feuille vers une autre

Très bien, je vais essayer de me familiariser avec le index / equiv et sommeprod. Je les avais vu sur plusieurs forum mais je n'ai jamais réussi à les appliquer. En effet parfois les formules excel valent mieux que des macros.

Et pour le test macro de ce que je voulais faire c'est vrai qu'elle est lourde, mais l'enregistreur de macro est très loin d'optimiser les formules. Mais pour mon cas tu as raison, les formules suffisent amplement :)

Merci beaucoup en tout cas !
 

Misange

XLDnaute Barbatruc
Re : transfert de données d'une feuille vers une autre

Ce n'est PAS un forum !
J'ai d'ailleurs indiqué clairement sur la page d'accueil d'excelabo que pour poser des questions particulières sur excel il faut le faire sur le forum d'excel downloads !
Excelabo est un site que j'ai créé il y a 11 ans (hé c'était hier l'anniversaire d'excelabo et je ne me suis même pas offert un petit chocolat pour fêter ça !) pour y stocker (au départ pour moi seule ...) les astuces que je récupérais sur le forum excel de microsoft (MPFE ou microsoft Public excel Fr), excellentissime newsgroup ou sévissaient de vrais maîtres es excel. En particulier Laurent Longre, qui a véritablement créé ce newsgroup excel en 98.

Ensuite j'ai stocké sur excelabo les vraies déconnades qu'on avait sur le forum excel (entre deux sommeprod, ça rigolait sacrément. Il reste encore quelques traces ici
Ce lien n'existe plus
puis j'ai mis en ligne les astuces. Des intervenants m'ont envoyé des classeurs. Au départ beaucoup de jeux, certains assez nuls, d'autres vraiment très sophistiqués. Et puis et puis et puis... tout ça a évolué. J'ai tout mis en php puis ensuite j'ai encore tout rechangé pour mettre ça sous un cms plus pratique à gérer. Et pendant ce temps j'ai alimenté ma base à partir d'astuces que je trouvais sur le forum, puis des miennes. J'ai créé à une période un wiki qui a été très actif avant de sombrer sous le spam. J'ai récupéré tout ça sous forme de tutoriels que j'alimente depuis.
Bref j'y ai passé quelques milliers d'heures je pense. Ca m'a permis de comprendre quelques trucs sur excel dont je me sers dans mon boulot (qui n'a strictement rien à voir avec l'informatique).

Donc non pas de forum sur excelabo et si le site est actif c'est quand je le veux bien :)
Il n'y aura jamais de forum sur excelabo je sais trop le boulot que ça demande de faire ça...
 

ludovic76

XLDnaute Nouveau
Re : transfert de données d'une feuille vers une autre

En tout cas je suis d'accord avec Gillus69, très bien fait, très pédagogique. M'enfin toutes ces formules que l'on découvre demeurent très compliquées à comprendre. Malgré moulte tests, je n'arrive toujours pas à reproduire vos formules sur mon fichier :/

J'ai une question sur la formule pour récupérer les données sans doublon:

=INDEX(num_article;EQUIV(0;NB.SI($I$1:I1;num_article);0))

Quand j'entre la formule, il apparaît un message de 'référence circulaire'. Je bloque

D'où vient ce 0 ?
 

Misange

XLDnaute Barbatruc
Re : transfert de données d'une feuille vers une autre

Une petite question: Qu est ce qui est le plus lourd ?
une recherchev ou index equiv ?

c'est pareil en terme de consommation de ressources excel.
Les avantages sont expliqués dans le lien que j'ai indiqué. Perso je n'utilise absolument JAMAIS recherchev. C'est un réflexe
=index(tableau contenant la valeur à renvoyer;equiv(ce que je cherche;ou je cherche; 0))
je ne réfléchis même plus, je ne m'occupe plus de savoir si mes colonnes sont dans le bon ordre ou pas.
 

Misange

XLDnaute Barbatruc
Re : transfert de données d'une feuille vers une autre

En tout cas je suis d'accord avec Gillus69, très bien fait, très pédagogique. M'enfin toutes ces formules que l'on découvre demeurent très compliquées à comprendre. Malgré moulte tests, je n'arrive toujours pas à reproduire vos formules sur mon fichier :/

J'ai une question sur la formule pour récupérer les données sans doublon:

=INDEX(num_article;EQUIV(0;NB.SI($I$1:I1;num_article);0))

Quand j'entre la formule, il apparaît un message de 'référence circulaire'. Je bloque

D'où vient ce 0 ?

As tu bien validé la formule en appuyant simultanément sur ctrl+maj+enter et pas seulement en appuyant sur enter ?
et quelle est la définition chez toi de num_article (références de la plage)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 698
dernier inscrit
miespetico