XL 2016 Duplication de lignes et copie

didcac

XLDnaute Occasionnel
Bonjour à tous,
Je cherche à créer une Macro pour dupliquer des lignes en recopiant à chaque fois des données (dans la même fiche), avant le lancement d'une nouvelle duplication de ligne plusieurs fois.
Puis, on relance l'opération jusqu'à traiter toutes les lignes.
J'ai résumé cela das un tableau EXCEL, prêt à l'emploi. Je peux aussi vous apporter des précisions, si besoin est.
Merci par avance de votre aide.
 

Pièces jointes

  • Description action de la Macro.xlsx
    9.7 KB · Affichages: 23

gbinforme

XLDnaute Impliqué
Bonjour didcac,
puis-je créer des onglets supplémentaires
Pas de blocage et sur le code je t'ai rajouté le choix de la feuille sur une liste de tes feuilles que tu peux baptiser à ta guise bien sûr :)
tu as bien fait de mettre un petit Mémo
C'était surtout pour mes tests car à chaque fois j'étais obligé de rechercher ! ;)

A l'heure actuelle, je pense être limité à environ 1.300 fiches
Je ne pense pas pour ton 'Test 5' que cela vienne du nombre mais comme l'erreur que tu as est assez fourre tout, ce n'est pas évident à voir.
Je pense que comme tu as beaucoup de classeurs ouverts cela serait plutôt dû à la grande quantité de mémoire utilisée.
Essaies avec un seul classeur et si ton souci est automatique je te ferai un traitement par paquets, que je voulais d'ailleurs implémenter dès le départ vu les volumes, mais les dernières versions d'Excel n'ont plus apparemment la limite des tableaux.

Bon dimanche à toi.
 

Pièces jointes

  • BASE retraitée (Données) li9.xlsm
    163.4 KB · Affichages: 2

didcac

XLDnaute Occasionnel
Bonjour gb,
Merci pour cette version améliorée avec les onglets "Feuil_n", c'est bien pratique.
Pour le problème du TEST 5, j'ai fermé et relancé Excel, mais cela ne change rien.
Côté mémoire, j'ai quand même 40 Go de RAM ! Donc a priori suffisamment. Et de toutes façons, avant que tu n'améliores la version n°7, la Macro générait (inutilement...) environ 101.000 lignes en une quarantaine de secondes. Or là, j'ai calculé, il n'y a que 19.800 lignes qui devraient être générées par le TEST 5 (en totalité)... Donc une envergure bien inférieure. C'est paradoxal.
Et la ligne "à anomalie" :
wr.Cells(1, 1).Resize(UBound(tbr), UBound(tbr, 2)).Value = tbr
ne te donne pas une "piste" ?
Sinon, je ferai en plusieurs fois, si tu ne trouves pas.
 

gbinforme

XLDnaute Impliqué
Bonjour didcac,

Et la ligne "à anomalie" ne te donne pas une "piste" ?
Le code erreur que tu as est totalement fourre tout et cette ligne est correcte puisqu'elle fonctionne dans les autres cas.
Si la mémoire n'est pas concernée cela peut éventuellement être lié aux données.
J'ai tout de même modifié le code pour limiter le transfert au volume utile ce qui pourrait résoudre ce bug.

Bonne journée à toi.
 

Pièces jointes

  • BASE retraitée (Données) li9.xlsm
    165.6 KB · Affichages: 5

didcac

XLDnaute Occasionnel
Bonjour gb,
C'est super !
Cette fois, la toute dernière version est la bonne. J'ai bien, sauf erreur de ma part, toutes les fiches générées. J'ai lancé un test, et ça ressort bien. Je vais évidemment analyser avec la base définitive, sur tous les Modules, mais je pense qu'il n'y aura pas de problèmes.
Merci beaucoup, tu as fais un excellent travail, en l'améliorant au fur et à mesure pour plus de confort d'utilisation.
Je te remercie beaucoup.
Très cordialement.
 

gbinforme

XLDnaute Impliqué
Bonjour didcac,
Merci de ton retour et je suis content que tu puisses enfin traiter tes énormes données.
Je me demandais tout de même comment tu passais du classeur test au classeur de base.
Je suppose que tu copies le formulaire avec son code sur ta base.

Bon courage pour la suite car tu vas sans doute utiliser les feuilles ainsi constituées.
Merci à toi pour ton professionnalisme et ta gentillesse.
 

didcac

XLDnaute Occasionnel
Bonjour gb,
En fait, je vais utiliser la base Test pour générer toutes les données dont j'ai besoin, et ensuite je vais en effet copier-coller ces données sur une grande feuille Excel (a priori vierge de toute Macro ou autre fonctions qui n'auront à ce stade plus aucune utilité).
Ensuite, j'importerai ces données dans FileMaker Pro (Base brute), qui est l'objectif ultime.
Et à partir de là, une nouvelle phase (de difficultés) va sans doute arriver, même si j'ai déjà préparé les choses en amont. Je segmenterai les divers types de données selon les fichiers individuels à pourvoir (c'est l'essence même d'un SGBDR). Et prierai bien fort pour que tout s'articule bien...
Connais-tu toi-même FileMaker ? Cela te semble être la bonne méthodologie ?
 

gbinforme

XLDnaute Impliqué
Bonjour didcac,
Merci des informations : je vois que tu utilises beaucoup le copier / coller.
Je connais FileMaker mais je ne l'utilise pas et donc je ne pourrais guère t'aider dans cette phase.
Je vois que tu as encore du travail pour modeler tes données et je te souhaites bon courage.
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll