Réorganisation automatique de résultats générés

Bonjour aux excellents excelleurs,

La découverte de ce forum est comme la naissance d'un nouvel espoir:)

J'ai passé de nombreuses heures de recherche sans finalement trouver de solution parfaite, j'espère que votre aide mettra fin à mes tourments:)

Je reçois les résultats d'un formulaire d'inscription sous format excel, jusque là tout va bien, mais le problème est son organisation, pour pouvoir traiter ces résultats, il faut impérativement une solution pour réorganiser les données automatiquement.

A terme, il y aura +-5000 répondants pouvant venir jusqu'à 10.

Le fichier généré contient un répondant par ligne, qui elle même est divisée en de nombreuses colonnes, une pour leur nom, prénom, age, choix de la langue et choix du film, celà pour jusqu'à 10 participants. Je vous joins ici le fichier généré automatiquement auquel j'ai rajouté une deuxième feuille comprenant une ébauche des résultats finaux automatisé grace au macro 13 que j'ai fait (sachant que des lignes vont se rajouter, jusqu'à 5000)

Je cherche donc un moyen pour automatiser un copier coller de calvaire,

il faut que pour chaque ligne, il y aie :

Nom Prénom Age Choix de la langue Choix du film Date Nom de l'agent Prénom de l'agent

J'ai un début de solution, en faisant un copier coller de chaque colone jusqu'à la ligne 5000 puis de la 5000 à 10000 les colones pour le deuxime particpant, de 10000 à 15000 pour le troisième etc jusqu'au 10ème participant,mais le problème est de rajouter le nom et prénom de l'agent ainsi que la date, puisque chaque agent ayant choisi une date peut inviter jusqu'à 9 personnes.

J'espère avoir pu exprimer ce problème épineux et surtout bénéficier de votre aide

Merci à tous ceux qui ont pris le temps de lire ce message et encore plus à ceux qui m'enverront une solution.

David

J'appuie désespérément sur F5, sans nouvelle:s

Si qqn peut m'aider, mais que mes explications ne sont pas assez claires, n'hésitez pas, je reformulerai

hello

mais que vas-tu faire de toutes ces données ? (cette longue liste en tant que telle est inutile)

ta feuille est difficilement exploitable pour faire des stat ou des graphiques

que veux-tu au final ?

Bonsoir à tous,

dans ta feuille "macro", tu peux déjà supprimer les lignes vides, tu verras + clair !

Sub supprLigVides()
    Range("a1:a3000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Claude.

le fichier que j'ai mis en ligne est juste un exemple sur lequel g mis nom1 prenom1 etc pour éviter de diffuser les coordonnées des gens déjà inscrits.

Il s'agit donc d'un évènement de fin d'année du personnel pour une entreprise, et puisqu'ils peuvent inviter plusieurs personnes, il faudrait réorganiser le tableau pour que chacun des participants soit sur une ligne propre, afin de pouvoir voir le nombre de personnes qui ont choisi une langue et un film, pour pouvoir faire les carte d'entrées et réserver le nombre adéquat de places.

Merci pour le code supprimant les blancs, mais ça revient au meme que de cliquer sur le tri puis de cliquer sur non blank.

En plus de réorganiser les participants sur des lignes différentes, il faut rajouter une colone avec le nom de l'agent qui invite et la date choisie (qui sont donc les memes pour 1 à 10 participants)

Merci pour votre temps et votre aide, je promets un accès au webtool Webropol à celui qui me trouve la solution:)

David

re,

Proposition de structure de BD exploitable !

https://www.excel-pratique.com/~files/doc/resultat2.xls

Si tu as une feuille avec les invités pour chaque membre, çà peut s'automatiser.

sinon t'es mal partis !

Claude.

Dubois, merci d'avoir pris de ton temps pour me répondre

Ce que tu as fait comme exemple est à peu près les résultats tels qu'ils devraient être réorganisés automatiquement.

Oui, les 10 participants liés à un Agent (membre du personnel) sont sur la meme ligne, avec forcément une seule case contenant le nom de l'agent. J'espère que c'est possible d'automatiser la réorganisation pour avoir chacun des participants sur des lignes différentes avec, en plus, le nom de l'agent lié sur chaque ligne de participant (donc chaque agent sera indiqué entre 1 et 10 fois), pareil pour la date, qui n'est elle aussi reprise qu'une seule fois par ligne pour finir par devoir être sur chaque ligne de chaque participant.

Merci d'avance pour votre aide

David

Bonjour à tous,

T'aider, oui, mais il faut quand même participer !

Si ma proposition précédente (principe) te va, refait ta feuille "résultat" dans ce sens.

- et d'ou sortent les codes postaux, les adresses etc.. ?

au boulot !!!

amicalement

Claude.

Bonjour à tous,

Bonjour Dubois,

Merci pour votre aide

Les résultats d'origine sont générés automatiquement par mon Webtool de création de formulaires, mais vu le type de questions, les résultats ne sont pas organisés de façon gérable dans ce cas ci.

J'ai fait une macro qui réorganise comme j'en ai besoin mais comporte plusieurs limitations/problèmes: c'est limité à 200 inscriptions (200 agents donc jusqu'à 2000 participants), en plus, ça ne fonctionne pas si toutes les cellules ne sont pas remplies (je dois donc générer une feuille de résultats tous les 200 inscrits et remettre le compteur à zéro pour les suivants, je devrai donc faire l'opération 25 fois dans la mesure où sont prévus 5000 inscrits), il faut aussi que tous les participants viennent à 10, ce qui est totalement improbable, la seule solution que j'ai pour l'instant est de remplacer les champs vides par un - par exemple, exécuter le script puis remplacer tous les - par un blank.

C'est donc loin de convenir:s j'espère pouvoir bénéficier de votre expertise en la matière:)

voici le lien vers le fichier sur lequel je travaille (c'est la macro n°13 qui exécute l'opération)

Merci d'avance,

David

re,

David, je viens de t'expliquer que ta démarche est ingérable ,

et là tu persistes et signe !

oublie ta macro13 et repars sur de bonnes bases.

Je jette l'éponge !!

amicalement

Claude.

Dubois, je ne suis pas sûr d'avoir bien compris, pour toi il n'y a aucun moyen de réorganiser automatiquement ces données depuis excel ?

Tu as fait une macro dans le fichier que tu as posté? si oui, laquelle?

j'espère ne pas être dans une impasse...

En tous les cas, merci de ton aide

bonjour,

Une possibilité

[Edit] : L'affichage écran passe mal si tu essaies de tester la macro sans télécharger le fichier. YAKA faire une aller retour d'ascenseur pour vérifier que ça fonctionne bien.

En revanche une fois téléchargé, l'affichage fonctionne au quart de tour.

A+

Salut Galopin,

Merci beaucoup pour ce que tu as fait! Ca a l'air parfait!

Je dois juste renommer la feuille de résultats en "resultat" et en créer une nommée "macro" et ça marche au poil.

Y a-t-il une limite à cette macro? peut il y avoir 5000 lignes remplies sans le moindre problème?

bonsoir,

5000 x 10 = 50 000 ? ça va faire un peu juste :

rempacer :

Dim i%, j%, k%, iO&, iD&, WsO As Worksheet, WsD As Worksheet

Problème ?

Prévoir assez de café et des cigarettes le temps du traitement !

A+

re,

Salut galopin01, chapeau pour ton code !

David, voici comment je voyais la chose :

  • en partant d'une base de participants (abonnés)
  • on attribue des invités aux abonnés qui le souhaite
  • inutile de rappeler à chaque fois l'adresse, etc...

Lis la procédure en cliquant sur le bouton "Aide"

Fichier:

https://www.excel-pratique.com/~files/doc/resultat3.xls

amicalement

Claude.

Bonsoir à tous,

Galopin, un tout grand Merci pour ton précieux code!

J'ai fait les modifications que tu as posté sans y comprendre grand chose j'avoue mais ça a l'air de tourner au poil! (à propos, ça pourrait durer très longtemps; plus d'une journée?)

Dubois, merci aussi pour tes idées et ton temps, c'est super ce que tu as fait. Je découvre à quel point Excel peut être performant.

J'imagine vu vos connaissances que vous êtes dans le métier, c'est pourquoi je vous propose de parler des fonctionnalités de notre webtool et ainsi peut-être vous rendre la pareille.

Cordialement,

David

bonsoir,

La modification a consisté à transformer les variables de ligne iO et iD en variable de type long

Dim iO% est l'équivalent de Dim iO as Integer

Dim iO& est l'équivalent de Dim iO as Long

... ce qui permettra à la macro de franchir allègrement le cap des 30 000 sans pb.

Le code est suffisamment optimisé pour travailler rapidement :

Le temps testé pour 51 000 lignes est d'un peu plus d'1 minute sur mon vieux coucou.

(Toutes les autres applications étant déchargées pour l'occasion)

Le code n'étant pas d'une grande complication, (c'est juste une histoire de boucle...) je n'ai pas jugé utile de de le commenter.

Si nécessaire sur demande, je veux bien le commenter...

A+

Salut le forum

Une petite explication en complément : Raccourci déclaration de variable

Mytå

Rechercher des sujets similaires à "reorganisation automatique resultats generes"