Simple tableau à double entrée, mais à partir de fichiers volumineux

Nihil

XLDnaute Nouveau
Bonjour à tous,

J'ai dans un fichier quelque 6500 aliment, avec chacun un code.
Exemple fictif: 1= abricot, 2= agneau, 3= amande, etc. (exemple dans feuille «Aliment» du fichier ci-joint)

Dans un 2e fichier, j'ai une centaine de nutriments, eux aussi avec chacun un code.
220= protéine, 221= glucide, 223= lipide, etc. (feuille «Nutriment»)

Enfin, dans un 3e fichier, j'ai le code de l'aliment, le code du nutriment et la valeur du nutriment, mais sur 3 col et sur plus de 500'000 lignes! (feuille «Combi»)

Je cherche à créer un énorme tableau à double entrée avec 1 aliment par ligne et 1 nutriment par colonne (feuille «tableau»)

Jusque là, je voyais encore comment faire, grâce à l'aide d'un contributeur ExcelDownloads la semaine dernière.

Mais complication suprême, je m'aperçois que chaque aliment n'a pas le même nombre de nutriments.
L'abricot en aura 69, l'agneau 75, l'amande 72, etc.
Donc, pas de systématique possible.

Est-ce que quelqu'un a une solution. D'avance, merci!
 

Pièces jointes

  • nutri.xls
    41.5 KB · Affichages: 98
  • nutri.xls
    41.5 KB · Affichages: 85
  • nutri.xls
    41.5 KB · Affichages: 82

Paritec

XLDnaute Barbatruc
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Bonjour Nihil le forum
pour t'aider c'est simple, il faut déjà comprendre ta demande, tu peux nous mettre dans le fichier les explications de ce que tu souhaites obtenir et un exemple je pense que là c'est dans la feuille tableau???
Bref toi tu connais ton fichier mais nous pas, pour te faire un tableau on sait faire mais encore faut-il le faire comme tu le souhaite
dans l'attente de tes explications dans le fichier
a+
Papou:eek:
 

Dranreb

XLDnaute Barbatruc
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Bonjour
chaque aliment n'a pas le même nombre de nutriments.
C'est quoi la différence avec avoir le même nombre maxi de nutriments possibles, dont certains sont à 0 ?

Quoi qu'il en soit, cette procédure à mettre dans "Feuil4 (tableau)" semble faire ce que vous demandez.
VB:
Private Sub Worksheet_Activate()
Dim Te() As Variant, Ts() As Variant, L As Long
ReDim Ts(1 To 6500, 1 To 100) As Variant
Te = Feuil3.[A:C].Value
On Error Resume Next
For L = 1 To UBound(Te)
   Ts(Te(L, 1), Te(L, 2) - 200) = Te(L, 3)
   If Err Then Exit For
   Next L
Me.[C3].Resize(L, 100).Value = Ts
End Sub
En remplaçant
ReDim Ts(1 To 6500, 1 To 100) As Variant
par
VB:
Ts = Me.[C3].Resize(6500, 100).Value
vous pourriez même faire des mise à jour de seulement certains aliments.

À +
 
Dernière édition:

Nihil

XLDnaute Nouveau
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Bonjour Nihil le forum
pour t'aider c'est simple, il faut déjà comprendre ta demande, tu peux nous mettre dans le fichier les explications de ce que tu souhaites obtenir et un exemple je pense que là c'est dans la feuille tableau???
Bref toi tu connais ton fichier mais nous pas, pour te faire un tableau on sait faire mais encore faut-il le faire comme tu le souhaite
dans l'attente de tes explications dans le fichier
a+
Papou:eek:

Sorry pour la confusion. Je cherche en effet à créer un tableau comme dans la feuille «Tableau», l'exemple étant cependant construit avec des données fictives pour simplifier.
 

Nihil

XLDnaute Nouveau
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Bonjour
Je vous ai mis quelques explications dans le tableau.
Merci de votre soutien!
 

Pièces jointes

  • nutri.xls
    41.5 KB · Affichages: 56
  • nutri.xls
    41.5 KB · Affichages: 65
  • nutri.xls
    41.5 KB · Affichages: 68

Dranreb

XLDnaute Barbatruc
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Et ma procédure alors ? Elle ne marche pas ?
La feuille "aliments" ne sert à rien à mon avis: elle fait double emploi avec les colonnes A eb B de "tableau"

P.S. Votre classeur muni de la macro.

À +
 

Pièces jointes

  • nutri.xls
    37 KB · Affichages: 78
  • nutri.xls
    37 KB · Affichages: 83
  • nutri.xls
    37 KB · Affichages: 79
Dernière édition:

Nihil

XLDnaute Nouveau
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Bonjour,

Décidément, ce forum va très très vitre; bravo à tous!

Deux problèmes

Le premier, c'est que ce n'est pas moi qui ai créé les fichiers de base, effectivement très compliqués: les 3 feuilles correspondent (avec des exemples fictifs et simplifiés) aux trois fichiers que je possède.
Deuxième problème (et heureusement qu'il y a la distance pour éviter la honte...), je suis vraiment un tout petit usager d'Excel et n'ai donc jamais utilisé de la VBA...
Je ne sais donc même pas où aller poser votre formule.

Bon un petit moment de gêne est vite passé...

Merci encore pour tout ce que vous pourrez faire...
Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Ah... Alt F11 pour aller dans l'éditeur VBA. Ctrl+R s'il y a lieu pour afficher l'explorateur de projet. Vous y trouvez "VBAProject (nutri.xls)". En dessous rubrique "Microsoft Excel Objets". Dedans il y a "Feuil4 (tableau)", cliquez 2 fois dessus et vous avez le module dans la fenêtre de code. (si vous ouvrez le fichier que je vous ai rendu poste précédent car je commençais à m'en douter un peu...)
Cordialement.
 

Nihil

XLDnaute Nouveau
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Sorry, mais ça ne marche pas.
Peut-être parce que je travaille sur Mac (OS 10.5.8)...
Chez moi, Alt F11 = le réglage du son.
Et lorsque j'ouvre mon fichier dans lequel vous avez posé la formule, rien ne se passe, tout en ayant suivi vos instructions (changement de feuille avant d'y revenir)...
 

Dranreb

XLDnaute Barbatruc
Re : Simple tableau à double entrée, mais à partir de fichiers volumineux

Alors das Excel menu Outils, Macro, Visual Basic Editor en espérant que vous avez tout ça.
Regardez aussi Outils, Macro, Sécurité... Peut être n'autorisez vous pas l'exécution des macros.
À +
 

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2