Excel, VBA, onglet principal listant les autres onglets

Bonjour,

Je vulgarise mon besoin (excel 2010):

Je veux un onglet (appelons TOUS) de type bilan, duquel tous les autres onglets nourriront TOUS et celui-ci ne sera qu'à titre de visuel, on ne fera aucune modification dans TOUS, il sera toujours selon les autres onglets.

J'aimerais que TOUS dans mon chiffrier excel fasse (c'est dans le meme chiffrier)

SI

1) dans tous les onglets subséquent l'article (sera toujours la meme colonne de chaque onglet, disons C1) n'y est pas, l'inscrire à tel endroit dans TOUS (disons a1)

*****Évidemment, la première entrée sera c1 ou a1, après c2 ou a2... et cetera. Colonne est statique, ligne est variable.*** (a garder en tête pour les autres exemples) **********

2) toujours dans le même si, indiquer (disons en a2 dans TOUS) le nom de l'onglet de la source (exemple client1)

Sielse

1) l'article se retrouve déjà dans TOUS (provenant d'un autre onglet), on ne l'écrase pas

2) on ajoute en concaténation le nom de l'onglet ou il est également ailleurs (exemple client1 ; client 2 ; etc)

Sielse

1) je fais une modification dans un onglet (disons client 1, client 2, et cetera), de l'article EXISTANT, on vérifie quel article dans le TOUS sera touché, on retire le client de l'ancien article et on l'ajoute dans le "nouveau". Donc chaque article est TOUJOURS unique. (statique)

La macro vérifie chaque onglet (sauf TOUS) tant et aussi longtemps que colonne c a une écriture, sinon elle arrête. Il n'y a pas de danger qu'une cellule soit vide et la prochaine ait du texte, donc on peut arrêter a la première cellule vide. (donc c1 texte, ok continue en c2 texte, ok continue c3 vide, arrete).

Exemple en itération #1

onglets existants: TOUS, client1, client2

Je fais l'entrée manuellement:

Dans l'onglet Client1, cellule C1: article: ajout d'un usager

La macro:

TOUS a1: ajout d'un usager

TOUS a2: Client1

itération #2

Je fais l'entrée manuellement:

Dans l'onglet Client 2, cellule C1: article ajout d'un usager

La macro

TOUS a1: fais rien, article est déjà existant.

TOUS a2: Client1 ; Client2

itération #3

Je fais la modification de l'article dans client 2

Client 2, cellule C1: article ajout d'un usager existant

La macro

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: Retire client2 (car l'article n'est plus dans client2) garde Client1 (puisque l'article y est toujours présent)

TOUS b1: ajout d'un usager existant

TOUS b2: client2.

itération #4

Je fais l'ajout d'un onglet, client 3

Je fais l'entrée manuellement:

Dans l'onglet Client3, cellule C1: article: ajout d'un usager

La macro:

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: ajoute client3, donc aura client1 ; client 3

itération #5

Je fais l'entrée manuellement:

Dans l'onglet client3, cellule c2: article: ajout d'un usager existant

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: aucune modification

TOUS b1: rien, l'article est déjà écrit.

TOUS b2: ajoute client 3. donc aura client 2 ; client 3.

Je crois que j'ai bien illustré via ce pseudo-code mon besoin, l'un de vous peut me le transcrire en code VBA?

Je comprends que je devrai maintenir le code en ajoutant ou retirant manuellement onglets car excel ne peut savoir

Je comprends aussi qu'à long terme, TOUS sera assez volumineux. Mais je vis bien avec ca

Est-ce que l'un de vous peut me pondre cette macro | programme en VBA?

S'il y a des précisions à rajouter, svp me le faire savoir.

Donald

Bonsoir,

Je n'ai lu que le début de ton projet... Sans fichier, pas la peine de continuer la lecture... Après examen d'un fichier illustrant le projet on pourra éventuellement entrer dans les détails.

Cordialement.

Salut,

Tu aimerais que je poste le code? je ne sais pas comment l'écrire en VBA, je connais C++ et python mais pas VBA.

Autrement, tu aimerais que je poste un chiffrier excel avec mes exemples?

Il y a 3 choses importantes pour pouvoir répondre correctement à une question :

  • la structure du classeur et l'organisation des données,
  • le type des données utilisées,
  • l'objectif visé.

On n'a rien trouvé de mieux encore que illustrer les éléments de la question posée avec un classeur, même si cela ne suffit pas et que des explications en plus ou moins grand nombre seront à ajouter, mais elles seront plus aisément interprétables avec un support.

En outre, la réponse exigeant une certaine matérialisation pour ne point demeurer trop abstraite, le support est également utilisable pour répondre, et accessoirement tester les réponses possibles...

Cordialement.

Bonjour, pas de probleme

Ceci répondra à un besoin au niveau de la maintenance d'articles pour des clients. Plus il y aura d'articles et de clients, + la maintenance de mon chiffrier deviendra difficile et je crois que c'est la meilleure solution pour ce probleme.

Les données sont dans le chiffrier en pièce jointe

Mon besoin se retrouve donc en F et G. Comme tu peux le voir, TOUS est nourri de facon manuelle et très rapidement on voit les problèmes que ca occasionne, les entrées identiques et le fait que je ne peux donner un poids au client qui possède le même article, et cetera

J'ai illustré le tout dans mon premier post. Est-ce que c'est suffisant pour aider à démarrer le solutionning?

16test.xlsx (133.54 Ko)

salut,

l'absence de réponse me donne donc l'impression que je demande trop.

Merci pareil!

Bonsoir,

C'est surtout très nébuleux pour nous autres.

Tu as sans doute des capacités d'abstraction que nous n'avons pas. Par suite tu es un peu sur une autre planète... et on n'a pas de décodeur intergalactique...

Bon de toute façon, ici on fait très rarement du clef en main. Le but du forum c'est d'aider les débutants à progresser... Pas de faire à leur place.

A+

Bonsoir,

Trivialement, je vois des lignes, parfaitement identiques partout à un champ près. Ce qui fait poser la question : qu'est-ce qu'un article ?

Ces lignes se retrouvent dans TOUS, donc s'il s'agit de seulement faire en sorte qu'une ligne se retrouve dans TOUS, quel est le sens de tout le laïus précédent que l'on ne retrouve pas ?

La solution qui me paraît évidente : un seul onglet, TOUS, supprimer les autres qui ne servent nullement.

Cordialement.

Rechercher des sujets similaires à "vba onglet principal listant onglets"