XL 2013 Copier/Coller

Dafaka7

XLDnaute Junior
Bonjour, sur ce fichier j'ai réalisé une macro avec énormément de copier/coller qui s'active uniquement sur les lignes demandés ci-dessous,
- J'aimerais que lorsque l'ont copie des lignes dans la première page de données, le tableau suivi s'incrémente automatiquement.
- Sauf que quand on colle les données forms nous devons toujours coller toutes les lignes donc il y a t-il un moyen pour que les lignes ne se copie pas en double sur le feuille suivi.
Merci à vous

1655706634156.png
1655706657608.png
 

Pièces jointes

  • Suivi D02.xlsm
    80.5 KB · Affichages: 4

Phil69970

XLDnaute Barbatruc
Bonjour @Dafaka7

En résumé 10 mètres de code pour coller 10 cellules sur X lignes c'est pas un peu excessif ? 🤣

Et pourquoi
1655712734483.png

Comment tu le calcules ?

Car dans ton exemple on copie dans le vide !!! 🙃o_O

Et si tu nous donnais 3/4 lignes d'exemples fonctionnels ?

Mettre en dur dans le code ceci c'est pas terrible
If Cells(I, 7) = "D086259N01/D086262N00" Then .....
If Cells(I, 7) = "D087674N00/D087675N00" Then ......

Ou prends tu cette liste ?

@Phil69970
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour Phil,

En résumé 10 mètres de code pour coller 10 cellules sur X lignes c'est pas un peu excessif ? 🤣

ça a été fait par l'Enregistreur de macros ou c'est le demandeur
qui a voulu réaliser une petite contre-performance ? 🤪



If Cells(I, 7) = "D086259N01/D086262N00" Then .....
If Cells(I, 7) = "D087674N00/D087675N00" Then ......

c'est p't'être les coordonnées d'un trésor ? 🤑
si tu le trouves, on partage fifty-fifty ?

soan
 

Dafaka7

XLDnaute Junior
Enfaite sur la ligne 7 il y a les références sauf que comme le fichier forms à 200 questions, ils nous donnent les résultats sur 200 colonnes donc le code qui à etais fait c'est selon la référence il va chercher la colonne qui correspond, mais justement ce n'est pas du tout optimisé, ma question était donc, est-ce possible que dans le tableau dès que l'on colle dans la feuille "données Forms" il récupère les données et les mets sur la feuille "Suivi".

Donc la actuellement comme le code fais beuguer c'est pour cela que j'ai mis le bouton et les lignes pour ne pas copier coller tous et faire crasher le PC 😂
 

Phil69970

XLDnaute Barbatruc
Bonjour le fil, Soan

si tu le trouves, on partage fifty-fifty ?
Ben non c'est pas un trésor !! 😭

@Dafaka7

Il me semble que j'ai posé plusieurs questions !

1)
Et pourquoi
1655712734483.png

Comment tu le calcules ?

2)
Et si tu nous donnais 3/4 lignes d'exemples fonctionnels ?
Avec ce que tu attends comme résultat

3)
Ou prends tu cette liste ?

Et j'ai eu vaguement 1 seule réponse.

Jouer au devinette c'est pas pour moi (vu qu'il n'y a pas de trésor à gagner 🤣 ) donc ou j'ai les infos correcte au prochain post ou c'est sans moi pour la suite .

Il faut que tu mettes un fichier représentatif de ton fichier pour que la/les solutions apportées soit transposées dans ton fichier facilement.

Cela évite de revenir X fois sur la demande et s'apercevoir que ton fichier ne correspond en rien à ta demande.

C'est quoi représentatif ?
- représentatif, même organisation des lignes et des colonnes, mêmes libellés, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ...
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables

*Éventuellement préciser l'ordre de grandeur des lignes à traiter, exemple mon fichier comporte 1 000 lignes ou bien 200 000 lignes ==> la méthodologie peut être différents.

Et bien sur qu'est ce que tu veux faire et comment tu comptes récupérer/exploiter les résultats en clair réfléchir à un cahier des charges.

Une demande claire donne très souvent une réponse rapide et qui correspond au mieux à la demande.

De plus si cela fonctionne sur le fichier que je fournis et pas sur le vrai fichier j'en conclu qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être qu'un simple copier coller.

De plus quand je lis ceci :
le fichier forms à 200 questions, ils nous donnent les résultats sur 200 colonnes
Je me dis qu'une meilleure conception de ton fichier est surement possible .... 🤔
Encore faut il avoir un fichier représentatif .....

Quand je vois cela sur sur plus de 70 colonnes .....

1655737652050.png


1) Je me dis que l'usine à gaz est en route ....
Car 70 cases à cocher multipliées par seulement 10 lignes = 700 cases à cocher
Et 100 lignes = 7 000 cases à cocher 🙃 :oops: o_O
tu vois pas comme un truc qui cloche !

2) Et Dans le fichier que tu as fourni il y a aucune case à cocher !!! (ouf)

3) Mais on est très long du fichier représentatif....

D’où ma réflexion sur le cahier des charges .....
En attente d'un fichier plus en rapport avec ton vrai fichier et les réponses complètes à toutes mes interrogations.

Bonne lecture

@Phil69970
 

Dafaka7

XLDnaute Junior
@Phil69970

En pièce jointe un fichier plus complet.
Voici le fichier Forms
Pour modifier


Pour répondre


Enfaite la liste se trouve sur ce fichier Forms et les résultats de Forms sortent sous la forme de la page "données Forms"; je vous mets en PJ un exemple.

Donc enfaite, comme sur mon Forms chaque référence amène à une section, donc 1 référence est liée enfaite à seulement 3 questions unique.
1655744648482.png

J'aimerais récupérer seulement ces informations à chaque fois, donc mon ancienne macro aller chercher les différentes données selon la référence. Mais je pense qu'il est possible de simplement copier les données ou les cases ne sont pas vides. Si je fait appel à vous c'est justement car je ne trouve pas la solution, ou l'optimisation nécessaire pour rendre le fichier pratique. La feuille "suivi" est ensuite lié à un tableau dynamique qui nous permettras d'analyser les données facilement.

Donc je récupère les données du fichier "Check-list", l'ordre de grandeur serait environ de 10000 lignes mais nous les copions dans ce fichier régulièrement donc en général nous n'avons pas plus d'une trentaine de lignes en + à chaque fois que nous incrémentons le fichier.

Les cases à cocher sont dans le fichier forms, c'est le nom de la question c'est pour cela qu'il y a écrit "cases à cocher"

Merci pour votre temps, et désolé pour mon manque de connaissance.
 

Pièces jointes

  • Suivi D02.xlsm
    89.9 KB · Affichages: 1
  • Check-list Fin de série D02(1-107).xlsx
    43.4 KB · Affichages: 2

Phil69970

XLDnaute Barbatruc
Bonjour @Dafaka7

Pourquoi avoir ouvert un autre post ==> https://www.excel-downloads.com/threads/macro-copier-coller.20068632/#post-20519192

Je te propose ce fichier sur la base du fichier que tu as mis dans l'autre fichier

Dans mon 1er essai ma macro avait 80-90 lignes et dans ce 2eme essai j'ai réduit ta macro en moins de 20 lignes contre près de 1000 lignes pour toi ! :oops: 🤔 o_O
Mais j'ai rajouté une feuille supplémentaire ==>
1655917265523.png

Ne pas modifié le nom de la feuille ni déplacer les données

Merci de ta réponse et n'oublie pas de valider la réponse si elle te convient. ;)

@Phil69970
 

Pièces jointes

  • Copie tableau structure V1.xlsm
    96.4 KB · Affichages: 3

Dafaka7

XLDnaute Junior
Bonjour @Phil69970,

Pour la feuille paramètre tu as pris les références 1 par 1 dans l'ordre des sections et tu es allais de 3 en 3 ?
Si par exemple une section à 4 réponses je fais +4 au lieu de +3 ?

Et deuxième chose, Forms nous permet de sortir les données, sauf que d'une extraction à l'autre si nous supprimons pas les données sur Forms, il nous ressort les mêmes données. Donc ma question est : Est-il possible que la macro ne copie pas 2 fois la même ligne dans le cas ou l'on colle les données par dessus les anciennes ? Ou vaut mieux mettre à la suite ?

Sinon c'est ce que je voulais, merci beaucoup.

J'ai ouvert une autre discussion pour essayer de mieux expliquer.
 

Phil69970

XLDnaute Barbatruc
@Dafaka7

Avec cette version les doublons devrait être supprimés automatiquement ;)

Pour la feuille paramètre tu as pris les références 1 par 1 dans l'ordre des sections et tu es allais de 3 en 3 ?
Si par exemple une section à 4 réponses je fais +4 au lieu de +3 ?

J'ai regardé ta macro ET il n'y a AUCUNE section à 4 réponses

Si ton fichier ET code ne sont pas représentatif relit mon post #5 tu seras ce que j'en pense
C'est quoi représentatif ?

Si tu passes à X sections il faudra revoir la manière de compter .... 🤔
.Range(1, 8).Resize(, 3).Value = Ws2.Range(Ws2.Cells(i, MaVal + Res), Ws2.Cells(i, MaVal + 2 + Res)).Value

@Phil69970
 

Pièces jointes

  • Copie tableau structure V2.xlsm
    95.9 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
@Dafaka7

Dernier petit détail, est ce que les références "Autre" peuvent apparaître dans référence plutôt que dans défauts ? C'est à dire que la référence viendra remplacer le mot Autre
De ce que j'ai compris cela vient des données fournit par ta macro au départ
1655969681740.png

Cela donne le N° de colonne
1655970630396.png


Que j'ai repris ici :
1655971868326.png


Et qui donne comme résultat
1655970825868.png


Il te suffit de modifier les bornes "Pos_Deb" et " Pos_Fin"
1655970469294.png


Et qui donne comme nouveau résultat
1655970970777.png


Donc suivant ce que tu veux faire TOUT est paramétrable

Seule contrainte il faut que tes N° de colonnes se suivent
1655971239145.png


Si c'est pas cela réexplique et mets un exemple de ce que tu as et ce que tu veux .....

Edit :Ajout du fichier car j'ai corrigé un bug

@Phil69970
 

Pièces jointes

  • 1655970611291.png
    1655970611291.png
    12.8 KB · Affichages: 7
  • Copie tableau structure V4.xlsm
    93.9 KB · Affichages: 3
Dernière édition:

Dafaka7

XLDnaute Junior
Non ce n'est pas ça :
Actuellement avec votre fichier j'ai ceci :

1655973996422.png

Et j'aimerais ceci :

1655974239309.png


Seulement pour "Autre"

J'essaie de mettre le code pour mes autres fichiers, j'ai déjà réussi pour 1 mais pour le deuxième je rencontre une erreur que je ne comprend pas
 

Pièces jointes

  • 1655974051801.png
    1655974051801.png
    7.9 KB · Affichages: 11
  • 1655973933666.png
    1655973933666.png
    5.8 KB · Affichages: 10
  • Suivi D08.xlsm
    100.7 KB · Affichages: 2
Dernière édition: