MAcro : boucle sur plusieurs feuilles
Bonjour
Mon fichier contient plusieurs feuilles organisées de la même manière
les 3 premières lignes sont toujours les mêmes puis après ça varie
Dans une feuille récap:
Je voudrais créer une macro qui récupère
-- > soit toutes les infos de tous les membres si je mets 0 en f1
--> soit les infos concernant un membre précis si je mets son n° en f1.
mais le plus simple étant un exemple,
je vous joins le fichier en pj
merci
Zbig
Salut,
Si tu indiques 127 en F1 de la feuille récapitulative, où trouves-tu cette référence sur la feuille (ou dans l'onglet de la feuille) des membres ?
Indique-moi deux données que tu voudrais reporter de la feuille du membre sur la feuille récapitulative en me précisant dans quelles cellules elles seraient prises et dans quelle colonne elles doivent être placées.
Que fait-on avec les données déjà en place sur la feuille récapitulative dès la ligne 4 ? Les efface-t-on à chaque nouveau lancement de la macro ? Ou additionne-t-on les nouvelles données recherchées à la suite ?
A te relire.
Hello
le n° 127 correspond à la liste des n° (n° bis) de la feuille paramètre
Ce n° doit etre présents dans les feuilles Jxx à la colonne D
Tous les champs (titres ) de la feuille récap sont dans les feuilles Jxx
si tu veux je peux faire un exemple l plus précis dans lafeuille réap
qui actuellement n'a pas de données
merci
Zbig
Salut,
Si je t’ai bien compris, s’il y a par exemple le numéro 127 dans la cellule F1 de la feuille recap general, il faut passer en revue toutes les feuilles commençant par J, y rechercher le numéro 127 dans la colonne D à partir de la ligne 6 (même s’il y a plusieurs groupes de
N°car, comme sur la feuille J9, les N°car 900, 910, 920) et reporter – si le numéro 127 est trouvé – certaines données sur la feuille recap general.
Si c’est bien ça, continuons : Admettons que l’on cherche le numéro 175 et qu’on le trouve sur la feuille J7 dans la cellule D6. Est-ce bien correcte que tu désires par exemple ces transferts :
Cellule G2 de la Feuille J7 transférée (par copier-coller) à la première cellule libre de la Colonne B de la Feuille recap general
Cellule E2 Feuille J7 transférée à Colonne C Feuille recap general
Cellule A2 Feuille J7 transférée à Colonne D Feuille recap general
Cellule A4 Feuille J7 transférée à Colonne E Feuille recap general
Etc. ???
Même si pour l’instant ta Feuille recap general est vide, elle contiendra des données une fois, après le premier lancement de la macro. Au deuxième lancement de la macro, mes questions ci-dessus gardent toute leur actualité. Merci d’y répondre.Yvouille a écrit :Que fait-on avec les données déjà en place sur la feuille récapitulative dès la ligne 4 ? Les efface-t-on à chaque nouveau lancement de la macro ? Ou additionne-t-on les nouvelles données recherchées à la suite ?
Suite à des problèmes privés, je risque de devoir prendre du temps pour la suite de ce fil. Merci de ta compréhension.
Amicalement.
Bonjour yvouille
merci pour ta réponse!
je réponds positivement à ton 1er bloc de réponses.
Concernnat
"Yvouille a écrit:
Que fait-on avec les données déjà en place sur la feuille récapitulative dès la ligne 4 ? Les efface-t-on à chaque nouveau lancement de la macro ? Ou additionne-t-on les nouvelles données recherchées à la suite ?"
A chaque lancement de la macro,
il faut vider la feuille récap puis la remplir les lignes L4 à Ln avec les nouvelles données de façon:
si je mets 0 (ou un useform ) , toutes les infos sont collées, sinon que seules qui correspondent au n° demandé
Cordialement
Zbig
Cordialement
Zbig
Salut Zbig,
Je crois que j’ai trouvé la solution à ton problème. Dans le fichier ci-joint, si tu modifies la cellule F1 de la feuille recap general, les données sont actualisées selon tes souhaits.
Pour l’instant je n’ai reporté que les données des colonnes A à F, comme exemples. Arrives-tu à compléter toi-même le code de manière à remplir les colonnes jusqu’à la X ?
A te relire.
EDIT : FICHIER "DEPLACEMENTCAR-V2" SUPPRIME A LA DEMANDE DU MEMBRE
Bonjour Yvouille
merci pour ce travail
j'ai tenté de poursuivre le code
j'ai testé par ex le 162,
CA semble fonctionner
Comment faire pour que la date et l heure de la création s 'affichent en L2 ?
Format : Les lignes 3 à x en arial 7?
Module imprimer
Est ce possible de mettre un useform (choix 1= 1 seule as choix2= toutes avec saut de page entre elles) permettant de créer des pages dans feuille "imprimer" ?
il reste un petit bug :
il faut que la recherche des infos se fasse uniquement sur les feuilles dont le nom commence par "J"
ya pas un code du type qui pourrait fonctionner?
dim ws as worksheets
For Each ws In Worksheets
If ws.Name Like "j*" Then...
merci
zbig
Salut,
J’ai moi-même testé ce chiffre et je peux t’assurer que ça fonctionne parfaitementzbig a écrit :j'ai testé par ex le 162, CA semble fonctionner
J’ai ajouté la ligne Range("L1") = Date dans le code.zbig a écrit :Comment faire pour que la date et l heure de la création s 'affichent en L2 ?
Ce n’est pas un petit bug, mais c’est toi qui a changé de fichierzbig a écrit :il reste un petit bug :
il faut que la recherche des infos se fasse uniquement sur les feuilles dont le nom commence par "J"
If UCase(Left(Sheets(i).Name, 1)) <> "J" Then GoTo Etiquette
Je ne vois pas de module imprimer dans ton fichier. Mais bon, est-ce qu’il ne s’agit pas ici d’un autre problème qui mériterait un nouveau fil ?zbig a écrit :Module imprimer
Cordialement.
EDIT : FICHIER "DEPLACEMENTCAR-V4" SUPPRIME A LA DEMANDE DU MEMBRE
Bonjour et merci de ton aide
Mon fihier final possede 21 feuilles commençant par Jxx, puis 4 autres feuilles
En testant avec mon fichier final, il y a des feuilles qui ne sont pas prises en compte (sic)
le module imprimer est une suite de ce fichier mais je posterai un autre sujet.
pour la date j'ai toujours la date du jour et heure 00h00, ce qui ne correspond pas au moment de la création.
Avec l'enregistreur de macro j ai trouvé ça mais est ce bon ?
ActiveCell.FormulaR1C1 = "=NOW()"
Range("D1").SelectEnfin , puis je t envoyer mon fichier en mp?
merci
Zbig
Salut,
Désolé, je n’avais pas vu que tu voulais aussi l’heure.zbig a écrit :Comment faire pour que la date et l heure de la création s 'affichent en L2 ?
J’ai zappé cette partie aussi. C’est peut être le problème lorsqu’il y a trop de demandes en une fois.zbig a écrit :Format : Les lignes 3 à x en arial 7?
No problemozbig a écrit :Enfin , puis je t envoyer mon fichier en mp?
Cordialement.
Bonjour
pour la date et heure et trouvé ce code
Range("L1").Select
ActiveCell.FormulaR1C1 = "=NOW()"pour le reste je t'envoie en mp
merci
Zbig
zbig a écrit :pour la date et heure et trouvé ce code
Range("L1").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Je sais, tu me l'as déjà dit
Tu es bien pressé, je t’avais indiqué que j’attendais ton code et que je te ferai une proposition à ce sujet.
Ton code ci-dessus place une formule dans la cellule L1 et celle-ci variera en fonction de l’avancement du temps.
Avec le code ci-dessous, tu as une date figée qui s’inscrit.
Range("L1") = NowA toi de pré-inscrire le format de date que tu désires pour cette cellule.
Merci d’attendre que j’ai reçu ton fichier et que j'ai pu travailler dessus (peut-être pas avant ce soir ou demain) ; c’est plus compliqué d’avancer par petits bouts de ci, de là.
Cordialement.
Salut,
Je reprends ci-dessous l’entièreté de ton message privé afin que l’on ait la suite de la discussion à un seul endroit, ce qui est plus facile lorsque l’on recherche une ancienne information.
zbig a écrit :Salut
ci joint le fichierv5
j'ai ajouté 2 colonnes (participation financiere) en fin de feuille
mais forcément le quadrilalge ne se fait pas
Est ce possible d'avoir un total des participation
en bas de la page
merci
Zbig
Pour le quadrillage des nouvelles colonnes, j’ai modifié la macro dans le fichier retourné en message privé. A ce propos, ton fichier est-il vraiment suffisamment confidentiel pour qu’on ne puisse pas le mettre sur le Forum ?
Tu veux le total des participations dans quelle(s) colonne(s) ?
Apparemment tu as résolu le problème de la taille de la police toi-même.
Tu as ajouté des commentaires sur la feuille recap general vers la ligne 172. Est-ce à mon attention ? Si oui, je ne m’en suis pas du tout occupé pour l’instant.
J’avais figé les lignes de titres de la page recap general de manière à avoir toujours les titres visibles, quelle que soit la ligne que tu consultes. Ne trouvais-tu pas que c’était une bonne idée ?
Je t’ai proposé une solution pour la date et l’heure dans la cellule L1 de la feuille recap general, mais tu as gardé ton code laborieux à formule volatile
Concernant l’impression, j’ai une petite idée derrière la tête, mais je dois d’abord avoir encore une fois plus de précision. Tu as à nouveau des indications un peu partout (dans tes messages, dans le module 2, etc.) et pas toujours très claires (dans le module 2, c’est un charabia incompréhensible, avec de la terminologie inconnue comme « District 31 », etc.). Alors voici ce que j’ai compris : On ne parle que de la feuille recap general. Tu désires pouvoir imprimer soit le seul N° Car (selon la colonne E) visible à l’écran car choisi par la cellule F1, soit tu as tous les N° Car visibles à l’écran et tu désires pouvoir choisir d’en imprimer un seul ou tous. Si tu désires imprimer tous les N° Car visibles, tu voudrais que chaque N° Car (toujours selon la colonne E) soit imprimé séparément sur une feuille.
La liste de tous les N° Car possibles correspond à la liste des N°bis inscrits dans la colonne A de la feuille paramètre ?
Si c’est bien ça, je présume que tu désires reprendre les lignes de titre (lignes 1 à 3) sur chaque feuille imprimée ?
A te relire.
NB : Merci d’utiliser le correcteur d’orthographe, ce qui rendra tes textes plus lisibles.
Bonjour
1- je vais enlever ce qui reste confidentiel pour que cela puisse servir au forum (v7)
2- Dans les feuilles Jxx, colonne X
il y a une information "Nb "réel" (un oubli)
est ce possible de la mettre en colonne U de la feuille récap, avant "participation déplacement " ?
3-
Total des participations (cf feuille recap2)
Dans la feuille récap : en dernière ligne pour les colonnes s, u et de V à AA
Dans feuille Edition : en dernière ligne pour les colonnes s, u et de V à AA
4- taille de police arial 7
non, je n'ai rien résolu volontairement
5- Commentaires - ligne 172
Oui , je me suis aperçu que les données de certaines feuilles n'apparaissent pas dans la feuille "récap"
les feuilles 19-20-21-22-23-24-25-27-28-29 ne sont pas traitées
la feuille 26 est traitée partiellement
6- Lignes Figées.
Oui, c'est une bonne idée. Je ne sais pas comment j'ai modifié cette option de façon maladroite
7-Date ete heure: impec
8- Edition/impression
ligne de titres sur chaque page : 1 à 6
en effet, On part des infos de la feuille récap
=> les n° de la colonne N de cette feuille correspondent au n°bis de la feuille parametre
edition de 2 choix possibles:
choix 1= imprimer un récap pour une A.S précise (ex n= 162)
et toutes les lignes dont le n)162 apparait en colonne N s'inscrivent dans la feuille édition et s'impriment
en gardant la même page entete si plusieurs pages
choix n)2 : edition/impression du recp de toutes les AS avec un saut de page à chaque fois que l'on change d'AS.
je penses avoir répondu à toutes tes interrogations
Cordialement
Zbig
Salut,
Je me suis demandé comment tu avais pu compléter mon code de manière à transférer toutes les données que je n’avais pas transférées moi-même d’une feuille à l’autre mais que tu n’arrivais pas à transférer maintenant les données de la colonne X. En cherchant un peu sur Internet, je me suis alors rendu compte que tu posais les mêmes questions sur d’autres Forum.
Je comprends aussi d’où t’es venue l’idée du passage
dim ws as worksheets
For Each ws In Worksheets
If ws.Name Like "j*" Then...
Mais afin que l’on ne soit pas deux (ou plus) à bosser sur le même fichier, ce qui fait plusieurs personnes qui travaillent dans le vide, je te propose que je laisse la main et que tu continues sur Excel-Download.
Cordialement.
Bonjour Yvouille
Je me permets de répondre à tes remarques afin de lever toutes ambiguïtés
Effectivement j'avais posté en 1er sur un autre forum le sujet sur "déplacement en car", mais comme tu as pu le voir, il y a eu 0 réponse et mon post partant dans le bas du forum, je me doutais qu'il ne serait plus regardé. Mais je n'ai pas vu de clic pour clôturer la discussion.
J'ai donc posté sur ce forum la même question, et seul toi as su répondre favorablement. Et je t'en remercie encore.
Pour info, je travaille sur 2 projets excel associés mais indépendants; C'est pour cela que l'on retrouve le même nom de feuilles, car les feuilles correspondent aux mêmes n° de journée "Jxx" ou "Jxx-xx" (J01 ou J01-13) :
Le 1er : gestion de déplacements : c'est celui pour lequel tu as donné des réponses
Compliqué car les copier-coller étaient sélectifs
Le 2e : gestion d'inscription aux compétitions
C'est un 2e sujet avec un problème de copier-coller simples mais que je ne savais pas faire non plus. Je récupère des feuilles excel de google drive avec les même titres et nombre de colonnes, mais pour faire les stats il me faut qu'elles soient regroupées dans une seule. J'ai donc posté un 2e sujet.
Suite à ta remarque en v2
Arrives-tu à compléter toi-même le code de manière à remplir les colonnes jusqu’à la X ?
J'avais transféré les données jusque x.
Pour la colonne x, je l'avais mis en place (copier-coller) dans la v7 en suivant ce que tu avais fait en v2
Mais cela décalait les dernières colonnes "participation".
Range("U" & n) = .Range("X" & m)
'INFOS PARTICIPATION colonne U à X
Range("V" & n) = .Range("Y" & m)
Range("W" & n) = .Range("Z" & m)
Range("X" & n) = .Range("AA" & m)
Range("Y" & n) = .Range("AB" & m)
Range("Z" & n) = .Range("AC" & m)
Range("AA" & n) = .Range("AD" & m)Je te remercie encore pour tes réponses et ta collaboration pour m'avoir aidé sur ce sujet. Et j'espère que mes réponses pourront peut-être te faire changer d'avis sur la fin de ce projet
Très Cordialement
Zbig
Bon, tu as l'air sincère, je vais changer d'avis. Mais tu vas devoir patienter 2 ou 3 jours, car je suis assez occupé ces temps.zbig a écrit :Et j'espère que mes réponses pourront peut-être te faire changer d'avis sur la fin de ce projet
A bientôt.
Bonsoir
et à bientôt. je m'amusais justement à relire et tenter de déchiffrer ton code.
mais ça me semble du chinois
A bientôt et merci
Zbig
Salut,
Dans la version 8 ci-jointe, j’ai normalement rétabli la situation des colonnes U à AA de la feuille recap general.zbig a écrit :2- Dans les feuilles Jxx, colonne X
il y a une information "Nb "réel" (un oubli)
est ce possible de la mettre en colonne U de la feuille récap, avant "participation déplacement " ?
Pour la feuille recap general (et non pas recap 2 !!!!!!!) j’ai placé des totaux dans les colonnes U à AA. Selon moi, la feuille Edition n’est pas concernée par cette macro. Est-ce un nouveau souhait ?zbig a écrit :3-Total des participations (cf feuille recap2)
Dans la feuille récap : en dernière ligne pour les colonnes s, u et de V à AA
Dans feuille Edition : en dernière ligne pour les colonnes s, u et de V à AA
Normalement il suffit de choisir la taille de la police préalablement à la macro et – comme elle n’est pas modifiée – ça reste à la taille choisie.zbig a écrit :4- taille de police arial 7
non, je n'ai rien résolu volontairement
J’ai basé mon code sur le fait que tes heures sur les feuilles Jxx de la colonne A étaient du texte (par exemple sur la feuille J9, en A6, tu as le texte 12H30). Mais dans certaines feuilles, ces cellules sont au format personnalisé 00"h"00 et c’est ainsi des nombres. Peux-tu donc simplement mettre toutes tes feuilles au même format ou dois-je modifier le code afin de résoudre ce problème de formats différents ??zbig a écrit :5- Commentaires - ligne 172
Oui , je me suis aperçu que les données de certaines feuilles n'apparaissent pas dans la feuille "récap"
les feuilles 19-20-21-22-23-24-25-27-28-29 ne sont pas traitées
la feuille 26 est traitée partiellement
D’une manière générale ce n’est pas évident de vouloir traiter 36 problèmes à la fois, alors je ne vais pas plus loin pour cette fois. Teste donc tout ça et on continuera avec la suite plus tard.
Ce n’est pas commode si tu transformes mes codes car pour finir je ne sais plus ce à quoi je peux faire confiance les yeux fermés et ce que je dois contrôler plus attentivement. Donc merci de ne plus modifier toi-même les codes.
Je ne voudrais pas non plus que tu rajoutes à chaque fois de nouvelles données, comme cette nouvelle colonne U. Il faut à chaque fois reprendre tout le code pour voir ce qui a été décalé.
A te relire.
EDIT : FICHIER "DEPLACEMENTCAR-V8" SUPPRIME A LA DEMANDE DU MEMBRE