[ABANDONNE] La sempiternelle question : «Comment faire... ?
Bonjour,
Ma présentation est ici
Mon problème :
«Comment faire pour extraire des données d'une feuille et les retrouver "automatiquement dans une autre ?»
Beaucoup posent la même question. Cela semble être un point d'écueil dans Excel. En tout cas, je m'y suis frotté et je suis resté sur le carreau ! Mon problème me paraît pourtant tellement simple !
Je dois enregistrer une liste de données : des noms, des dates, des sommes et des informations, au jour le jour.
Cette liste va donc croissant sans cesse.
De cette liste, je voudrais qu'il y ait un report automatique par nom vers les feuilles (onglets) ouvertes à ces mêmes noms.
Ce n'est rien de plus compliqué que cela... mais je n'y parviens pas !
Comme un petit dessin vaut mieux que des heures d'explications, voici un petit tableur représentant mon besoin.
Merci pour votre intérêt et votre aide.
bonjour, pour moi il y a deux solutions a ton probleme, la methode simple et pas tres recherchée, c'est tout betement faire des formule "=" recopiant les données pour chaque nom dans chaque onglet, ou alors le coté un peu plus pechu en VBA pour faire de belles formules qui rangent tout.
la forme de ton tableau est elle le format definitif ou est il appellé a etre changé ??
Merci déjà pour cette réponse ultra rapide.
Le tableau pourrait encore inclure une ou deux colonnes. Les besoins de mon épouse sont encore un peu flous.
Comme toujours, on oublie de donner la totalité des explications dès le départ : la solution proposée "=" a évidemment été la première pensée et envisagée. Cependant, il est très probable que dans la liste des données "on" trouvera utile d'effacer des lignes.
D'autant que je ne peux "protéger" les feuilles et le classeur... pour le cas où !
Cette petite erreur de manipulation entraînera de facto une ribambelle de "#VALEUR!" dans la feuille de report, ce que je voudrais pouvoir éviter car cela ne se constatera que beaucoup trop tard.
Evidemment, le mieux est de sélectionner les cellules qui n'ont plus de raison d'être, de les effacer puis de reclasser. Mais l'erreur est si terriblement humaine.
Par ailleurs, la liste des noms sera longue. Et je ne me vois pas passer d'une feuille à l'autre pour faire un "=" dans la feuille appropriée (au nom) à chaque enregistrement effectué dans la page des données.
Dernier problème : dans le tableur publié ci-dessus, la formule =SI(Données!$A2=ANDRE!$A$1;"=Données!A2";"") dans la cellule (ANDRE!A5) donne comme résultat : "=Données!A2" au lieu de "ANDRE"
Il faudrait donc pouvoir trouver une autre solution.
pas de soucis, je suis debutant en VBA donc je ne trouverai pas la reponce cette nuit je penses, mais je vais y travailler cela me fera un bon exercice
papyrazzi a écrit :la formule =SI(Données!$A2=ANDRE!$A$1;"=Données!A2";"") dans la cellule (ANDRE!A5) donne comme résultat : "=Données!A2" au lieu de "ANDRE"
Il faudrait donc pouvoir trouver une autre solution.
pour la formule =SI(Données!$A2=ANDRE!$A$1;"=Données!A2";"") il vaut mieux ecrire =SI(Données!$A$2=ANDRE!$A$1;Données!A2;"")
voici un petit exemple simple peut etre cela suffira a ton bonheur j'ai prevu large dans la recopie des cellule essayes et dis moi ce qu'il faudrait ameliorer ou autre ?
Cdt
Didier
Merci, j'ai vu ! La formule adéquate est =SI(Données!$A2=ANDRE!$A$1;Données!A2;"") qu'il faut alors copier de gauche à droite.
Mais l'assistant formules fait l'erreur de mettre les "Données!A2".
J'ai réalisé qu'il le fait à chaque fois ! En plus, Excel refuse que je les annule ! Je dois tout encoder à la main !
Par contre, cette façon de procéder laisse évidemment des lignes "vides" lorsque la condition est fausse. Il faut donc obligatoirement
créer une "liste" dans les feuilles par nom pour "trier" en rejetant les "vides". Il n'y a donc plus vraîment d'automatisme.
essayes le fichier que je partages, il devrait repondre a tes attentes et il est beaucoup plus efficace que des =
Eh Eh Did350 !
Je n'avais pas constaté que tu m'avais envoyé un fichier en retour.
Déjà un tout grand sourire sur mon visage : tu approches de la vérité. Le plus gros est déjà résolu par ton retour. Merci de tout coeur.
Mais je voudrais pouvoir abuser encore un peu pour peaufiner le travail de base.
En effet, le tableur est destiné à une personne qui ne connaît rien des macros. Tout doit être automatisé (de là l'avantage d'une base de donnée... mais je ne peux pas).
Sont travail doit se borner à "encoder" les données et "cliquer sur des boutons macros qui font tout le reste", c-à-d :
- créer une nouvelle feuille au nom du nouvel arrivant ;
- reporter ce nom en cellule (A1) de cette nouvelle feuille;
- modifier le nom de l'onglet correspondant à cette nouvelle feuille par le nom du nouvel arrivant;
- modifier ta macro "Complete" ;
- définir les cellules (A4:E500) en tant que liste ;
- donner l'instruction qu'il faut un total (somme) en bas de liste pour la colonne C (Menu Données/Liste/Ligne total).
Actuellement, par une macro, je crée une feuille au nom d'un "nouvel" arrivant, en recopiant une feuille "modèle" (exemple ANDRE).
Je remplace le nom en cellule (A1) puis je modifie le nom de l'onglet. Ensuite, les feuilles (onglets) sont classées par ordre alphabétiques (macro également)
- Peut-on envisager qu'une macro puisse compléter les instructions de ta macro "Complete" lorsque je crée un nouveau nom ?
Car, comme je l'ai écrit, il va y avoir de plus en plus de noms (avec un maximum de 250 cependant).
- Peut-on, par une macro (insérée dans la macro de recopiage de fenêtre) renommer la feuille (onglet) au nom repris dans la
cellule (A1) de la page qu'on vient de créer ?
- Mieux encore : avoir une macro qui demande le nom à créer et qui copie ce nom dans la cellule (A1) et remplace le nom de
la feuille (onglet) ?
Merci encore pour ton aide efficace.
de rien
Petit niveau ? Que dois-je penser de moi alors ? Mouais... c'est vrai que je ne suis que débutant, malgré mon grand âge !
papyrazzi a écrit :Petit niveau ? Que dois-je penser de moi alors ? Mouais... c'est vrai que je ne suis que débutant, malgré mon grand âge !
.
quand je dis petit niveau ce n'est pas pejoratif
J'en suis exactement au même stade. Je suis en train de lire le cours.
se pourrait il d'avoir un fichier quasi definitif comme base de travail avec la mise en page etc? suivant le nombre de ligne et colone il faut figer un coté au moin pour que je puisse essayer de faire quelque chose, merci.
Bonjour Did350,
1° Il y a une feuille cachée " ZZZZ " dans laquelle j'ai recopié des boutons macros + texte pour des éventuels copier/coller.
2° Les colonnes et lignes cachées ne laissent apparents que les espaces dont on aura besoin (totaux compris).
3° Certains "hyperliens" ne sont pas remplis (pour permettre à l'utilisateur de faire l'exercice de les créer). Le fichier est encore en cours d'ébauche aussi.
4° Il faut encore saisir la plage "utile" sur les onglets "par nom" afin de l'utiliser en "liste" (mais sans donner de nom à la liste : pour éviter les risques d'erreurs lorsqu'on recopie une feuille "modèle" sur l'autre.
5° La feuille modèle est celle au nom de SD-WORX.
Si je vois une autre observation à faire, je ferai un autre post et compléterai celui-ci (pour ceux qui passeraient éventuellement après toi).
Une question ? N'hésite pas.
Bonjour,
Si je peux me permettre...
Si tu as vraiment beaucoup de noms ton fichier va grossir terriblement, d'où des lenteurs à l'ouverture et à la fermeture. Et éventuellement des instabilités voire même un fichier inexploitable à partir de qq dizaines de Mo.
Sans dupliquer toutes les feuilles un simple filtre sur le nom te donne la même chose non ?
eric
Sorry, pannne informatique depuis hier soir
Euh...
Normalement oui, mais en cliquant sur l'hyperlien, le tri est déjà effectué (grâce au système de Did350) et l'utilisateur n'aura pas à trier la liste des données.
D'autant que le système de liste est parfois bien bizarroïde (je sais , ce n'est pas français). En effet, après avoir fait des tris
puis redemandé de tout afficher, j'ai eu à plusieurs reprises mes données qui ont été déplacées en fin de liste. Pourquoi, comment ? No Se.
C'est pour cette raison que je pensais intéressant de faire comme j'ai fait.
Au bureau, mon épouse a un tableur comprenant 487 feuilles pas mal pleines de données (réencodages de prêts de 30 ans d'âge et suivi de ceux-ci au jour le jour.
Apparemment, cela tourne bien depuis les 13 ans qu'elle l'utilise. Je ne connais toutefois pas le poids de ce fichier (je ne l'ai jamais vu).
Ils n'avaient pas réussi à l'informatiser et ont choisi Excel pour le réencodage (moi j'aurais au moins utilisé Acces ou quelque chose de similaire)
C'est pour cette raison que j'aimerais pouvoir aller plus avant dans le travail ded Did350 qui est déjà une sacrée amélioration par rapport à ce que j'avais pu obtenir.
Maintenant, il est vrai que ce serait chouette de pouvoir "automatiser" la macro qu'il faut compléter chaque fois que l'on crée une nouvelle page.
Dans Lotus, il existait quelque chose de génial :
Il n'y avait pas de VB et out ce qui concernait les "Macros" était enregistré directement sur une des feuilles du tableur. Les noms et instructions, tout s'y trouvait à la queue-leu-leu. Bien entendu, avec des instructions de début et de fin de macro pour s'y retrouver.
Serait-il possible, en Excel, d'avoir une macro qui aille lire une "plage" sur une feuille et qui la retranscrive dans une macro ?
Si oui, cela serait une très bonne manière de faire évoluer la macro "Complete" pensée par Did350 et cela ferait grandement avancer le schmilblick.
Merci pour votre aide.
J'ai finalement créé une base de données. Je pense que c'était la meilleure solution.