Microsoft 365 Copie d'un nombre défini d'éléments d'une liste avant de passer au suivant

AlexiaC

XLDnaute Junior
Bonjour Forum!

Petite question, je suis à la recherche d'un code qui me permettrait de copier, dans le premier onglet de mon fichier joint ("Questions"), le nombre de fois inscrit en colonne H le titre de la colonne G, mais à partir de la cellule A7 du second onglet Portrait global. J'ai déjà trouvé un code sur les z'internets, qui fonctionnait plutôt bien, mais il fallait aller sélectionner la source et la cellule de destination plutôt que de l'inscrire directement dans le code.

Or, cette fois, j'aurais besoin que l'on puisse cliquer sur le bouton "Mise à jour de la liste" dans le second onglet pour que la liste s'actualise. Je ne suis malheureusement pas assez douée en VBA pour m'en sortir toute seule :/

Est-ce que l'un d'entre vous aurait une piste de solution svp?

Merci!!
 

AlexiaC

XLDnaute Junior
Bonjour @AlexiaC



Je viens de télécharger mon fichier du post # 10 et je n'ai pas eu de problème

Regarde la pièce jointe 1177945 Regarde la pièce jointe 1177946

Et si je modifie le nombre de Titre ....

Regarde la pièce jointe 1177942 Regarde la pièce jointe 1177943

Donc pour moi mon fichier ne bug pas (excel 2010 64 bits) chez moi

Re-télécharge mon fichier du post#10 et refait un essai
Effectivement cela fonctionne bien dans ton fichier cette fois-ci, je ne comprends pas bien pourquoi ça a planté la première fois! Mais par contre, quand je copie ton code dans mon fichier à moi, j'ai la même erreur qui s'affiche?!?

1693922310864.png
 

Phil69970

XLDnaute Barbatruc
Re

@AlexiaC

Mais par contre, quand je copie ton code dans mon fichier à moi, j'ai la même erreur qui s'affiche?!?

C'est simple ton fichier n'est pas représentatif .....

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom de TS, mêmes noms de feuilles ....
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.

==> Fourni un nouveau fichier qui correspond mieux à ton vrai fichier ;)

Hypothèse : Le nom de tes tableaux ne correspondent pas !!!
 

AlexiaC

XLDnaute Junior
Re

@AlexiaC



C'est simple ton fichier n'est pas représentatif .....

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom de TS, mêmes noms de feuilles ....
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.

==> Fourni un nouveau fichier qui correspond mieux à ton vrai fichier ;)

Hypothèse : Le nom de tes tableaux ne correspondent pas !!!
Ah misère, effectivement, j'ai plus d'onglet dans mon fichier original. Je ne savais pas pour cette description, merci de m'éduquer!

Les noms des tableaux sont bons, c'est la première chose que j'ai vérifiée... Je mets donc le fichier "complet" en pj, j'ai anonymisé tout ce qui devait l'être, c'est la version finale.

Merci de ta patience :)
 

Pièces jointes

  • Compil_Qst_2.xlsm
    85.5 KB · Affichages: 3

Phil69970

XLDnaute Barbatruc
Re

@AlexiaC

Remarques :
1) Mettre des TS les uns sous les autres est une très très très ...... très mauvaise idée car un TS est fait pour s'agrandir et si il rencontre un autre TS et bien il écrase tout et impossible de revenir en arrière

2) Un TS NE DOIT PAS AVOIR DE LIGNE VIDE sinon tu perds un des avantages d'avoir un TS

3) Mets quelques valeurs dans ton fichier car pratiquement tous les TS sont vides.

4) Mets des noms significatifs à tes TS car Tableau13 n'est pas très parlant
Exemple : T_Titre ou T_Questions est parlant

Revoit ton fichier .....
 
Dernière édition:

AlexiaC

XLDnaute Junior
Re

@AlexiaC

Remarques :
1) Mettre des TS les uns sous les autres est une très très très ...... très mauvaise idée car un TS est fait pour s'agrandir et si il rencontre un autre TS et bien il écrase tout et impossible de revenir en arrière

2) Un TS NE DOIT PAS AVOIR DE LIGNE VIDE sinon tu perds un des avantages d'avoir un TS

3) Mets quelques valeurs dans ton fichier car pratiquement tous les TS sont vides.

4) Mets des noms significatifs à tes TS car Tableau13 n'est pas très parlant
Exemple : T_Titre ou T_Questions est parlant

Revoit ton fichier .....

Re

@AlexiaC

Remarques :
1) Mettre des TS les uns sous les autres est une très très très ...... très mauvaise idée car un TS est fait pour s'agrandir et si il rencontre un autre TS et bien il écrase tout et impossible de revenir en arrière

2) Un TS NE DOIT PAS AVOIR DE LIGNE VIDE sinon tu perds un des avantages d'avoir un TS

3) Mets quelques valeurs dans ton fichier car pratiquement tous les TS sont vides.

4) Mets des noms significatifs à tes TS car Tableau13 n'est pas très parlant
Exemple : T_Titre ou T_Questions est parlant

Revoit ton fichier .....
Salut!

J'ai revu le fichier, merci pour les infos! Je pense que tout y est, j'ai intitulé les tableaux, reporter les TS dans de nouvelles feuilles
Les lignes vides, je sais que c'est pas "bon" mais en fait, toutes mes colonnes dépendent de la colonne A, c'est celle qui va donner toutes les infos aux autres cellules pour être complétées par des formules. Mais j'ai mis des infos dedans, à titre informatif.

Je n'ai fait que l'onglet Portrait global pour l'instant, j'ai un RV dans 30 minutes, je dois partir... mais je pense que l'essentiel est là!!

Merci encore :)
 

Pièces jointes

  • Compil_Qst_2.xlsm
    56.1 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
Re

@AlexiaC

Je te propose la V3

Remarque :
Si tu renommes les titres de colonne des TS
==> t_Portrait la colonne "Titre"
==> t_ListeCC les colonnes "TitreCC" et /ou "NB"


La macro ne fonctionnera plus car elle ne retrouvera plus ses en-têtes 🤔
 

Pièces jointes

  • Copie n fois TS 1 sur TS2 V3.xlsm
    60.1 KB · Affichages: 5

AlexiaC

XLDnaute Junior
Re

@AlexiaC

Je te propose la V3

Remarque :
Si tu renommes les titres de colonne des TS
==> t_Portrait la colonne "Titre"
==> t_ListeCC les colonnes "TitreCC" et /ou "NB"


La macro ne fonctionnera plus car elle ne retrouvera plus ses en-têtes 🤔
@Phil69970

Wow, merci tellement :) ça marche impeccable!!
Je vais essayer de la décortiquer, parce qu'en dehors de l'utilisation nette frette sec comme on dit, j'aime comprendre ce qui se passe en arrière et pourquoi ;)

Merci de ton temps et de ta réflexion!!
 

Cousinhub

XLDnaute Barbatruc
Re

@AlexiaC

Remarques :
1) Mettre des TS les uns sous les autres est une très très très ...... très mauvaise idée car un TS est fait pour s'agrandir et si il rencontre un autre TS et bien il écrase tout et impossible de revenir en arrière

2) Un TS NE DOIT PAS AVOIR DE LIGNE VIDE sinon tu perds un des avantages d'avoir un TS

3) Mets quelques valeurs dans ton fichier car pratiquement tous les TS sont vides.

4) Mets des noms significatifs à tes TS car Tableau13 n'est pas très parlant
Exemple : T_Titre ou T_Questions est parlant

Revoit ton fichier .....
Bonjour,
Si on utilise l'instruction normale (correspondant à "Insertion/Ligne de tableau"), le tableau du dessus va s'agrandir, et celui situé en dessous, va descendre...
Je plussoie cette affirmation lorsqu'il s'agit de TCD ou de requêtes, mais pour un TS, je ne vois pas trop l'utilité de cette mise en garde???
Ou je n'ai peut-être pas tout compris (fort possible, également..)
Bonne journée
 

Cousinhub

XLDnaute Barbatruc
Re-,
Effectivement, en mixant les codes (ie : Codes propres aux TS et Codes de feuilles de calcul), on arrive à ce résultat.
Si, comme je l'avais précisé, on utilise le code propre aux TS (TS.ListRows.Add), le TS du dessous descend également d'une ligne, afin de laisser la place à son copain du dessus...
Mais ceci imposerait une nouvelle boucle, fonction du nombre dans la colonne Nb du TS "t_ListeCC"
Bonne fin d'apm
 

Phil69970

XLDnaute Barbatruc
Re

@Cousinhub
Effectivement, en mixant les codes (ie : Codes propres aux TS et Codes de feuilles de calcul), on arrive à ce résultat.
Je comprends pas trop ta formulation car si tu déplaces le TS ==> t_Portrait n'importe ou y compris sur une autre feuille mon code fonctionne.
Mon code est donc bien indépendant de sa position et de la feuille sur lequel il se trouve ce qui est bien un des avantages des TS de pouvoir fonctionner sur n'importe quelle feuille et sur n'importe quelle endroit de la feuille .
 

Cousinhub

XLDnaute Barbatruc
Re-,
Oui, ton code fonctionne, là n'est pas le souci (si on peut appeler cela un souci)
Ce que je veux dire, c'est que si tu utilises uniquement le code propre aux TS, il n'y a plus de pb de chevauchement
Dans cette page, regarde notamment le paramètre "AlwaysInsert", qui précise bien qu'avec cette instruction, les lignes du dessous sont décalées.
C'était juste pour une petite précision
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 318
Membres
103 176
dernier inscrit
jean.yvesjean.yves