Je me heurte à un problème dans ma base de données.
J'ai un classeur avec trois tableaux identiques, un pour la seine et marne, un pour l'Essonne et un autre pour le val de marne. Chacun des tableaux dispose de 32 colonnes (qui peux augmenter), pour les lignes cela fait respectivement 900, 440, 500 (environ) et cela augmente au fil des nouveaux dossiers
Ces tableaux contiennent des infos sur des postes électriques. (Nom, numéro de tel, type de coffret, bref plein de données, et surtout une case Statut (en colonne E) et information en colonne AH)
Pour le statut (en service, fiche problème, hors conduite...) j'ai essayé d'extraire les données de ces trois tableaux dans des feuilles distinctes. (Une pour les « fiches problème » une pour les « hors conduite ».
Je souhaitais que les postes concernés ce copie directement dans la feuille.
J'ai trouvé cette macro mais je n'arrive pas à l'adapter, je suis très limiter niveau connaissance dans ce domaine, à part les enregistrements et les macros extrêmement simple...
J'ai collé ce code dans chacune des trois feuilles en mettant le nom de la feuille (omt_91 ; omt_77 ; omt_94)
Private Sub Worksheet_Activate()
Sheets("omt_91").[A12:AE1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=[H1:H2], CopyToRange:=[A1:E1]
End sub
Puis dans les feuilles hors conduite et fiche problème
En mettant en H1 : statuts et H2 : hors conduite/fiche problème
Private Sub Worksheet_Activate()
Sheets("omt_91").[A12:AH1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=[H1:H2], CopyToRange:=[A1:E1]
End sub
Je ne comprends ce que je dois mettre dans les modules et je ne comprends pas comment adapter la programmation.
Cela ne marche pas. Avez-vous un conseil a me donné, Déjà est-ce possible de synthétiser dans une feuille, des données de trois feuilles différentes. D'autant que je voudrais extraire juste certaines cases (la case statut, la case noms, poste source, départ, et la case information.... exigent en plus.)
Ce code fonctionne très bien dans le fichier d'origine évidement, le truc super c'est que ci je change un statut il disparaît de la feuille ou il était et le tableau de cette dernière ce range automatiquement.
Voila j'espère que mon pavé est compréhensible.
Par avance je vous remercie de vos retours.
désolé cela a déjà été aborder je pense, mais je n'ai pas réussi à mettre en pratique.
(truc tout bête je voudrais joindre le tableau mais je ne trouve pas comment faire sur ce forum...)
Merci Encore
-FOX
A voir également:
Extraire des données de plusieurs feuilles excel
Excel récupérer données de plusieurs feuilles - Meilleures réponses
Comment récupérer des données sur plusieurs feuilles excel - Meilleures réponses
Ce que tu recherches doit être possible
Pour joindre ton fichier tu vas sur le site cjoint.com, tu telecharges ton fichier, tu fais créer un lien, tu le copies et tu reviens le coller ici dans un prochain message en indiquant clairement à partir d'une exemple précis ce que tu veux copier et où (le mieux c'est de remplir une feuille avec les données à transcrire de l'exemple).
Impeccable c'est tout a fait ça. Merci beaucoup pour tout ce travail. J'ai essayé de comprendre les formules, mais j'ai du mal. Impressionnante d'ailleurs ces formules (le débutant à parler)
Merci encore beaucoup pour le temps que vous avez passé dessus, c'est vraiment parfait et pile poil comme je veux.
Le principe :
1) SI rien en A8, rien en B8 non plus
2) On prend dans la colonne B de la feuille OMT77 (INDEX) la valeur se trouvant sur la même ligne (EQUIV) que la valeur correspondant à la ligne courante-7 dans la colonne AI de la même feuille OMT77 => (INDEX(OMT_77!B:B;EQUIV(LIGNE()-7;OMT_77!$AI:$AI;0))
ainsi en B8 on est en ligne 8 et LIGNE()-7 donne 1, on recherche donc la valeur 1 en colonne AI ; elle se trouve en ligne 14, la valeur retournée par la formule est alors celle de la cellule colonne B ligne 14 soit Sly
3) Si le nombre recherché n'existe pas dans la colonne AI il a erreur, d'où la gestion de l'erreur avec SIERREUR avant INDEX .... qui renvoie à exécuter la partie suivante de la formule : la recherche du même nombre mais dans la feuille OMT91 d'où INDEX(OMT_91!B:B;EQUIV(LIGNE()-7;OMT_91!$AI:$AI;0))
4) Là encore le nombre peut ne pas être trouvé (c'est qu'il est alors dans la 3eme feuille) d'où la 2eme gestion de l'erreur pour aller chercher dans la feuille OMT94
Les formules des autres colonnes sont quasi identiques sauf qu'au lieu de renvoyer la valeur de la colonne B on renvoie celle de la colonne C, etc
cdlt
-FOX