Onglet en miroir ajout, suppression lignes et colonnes

Bonjour à toutes et tous,

Malgré des essais suite à des recherches sur ce forum je n'ai pas trouvé ou su adapter de procédure VBA pour résoudre ma problématique décrite ci dessous et accompagnée d'un classeur exemple :

Je recherche une procédure pour que Feuil2 soit en miroir de Feuil1 sur les colonnes et les lignes.

Ainsi si on ajoute sur Feuil1 une ou plusieurs ligne (que ce soit au dessus ou en dessous) et ou une ou plusieurs colonne (que ce soit à gauche ou à droite) sur Feuil1 cela se produise également au même emplacement sur Feuil2.

Idem si on supprime ligne et ou colonne.

Auriez vous une ou des solutions à me proposer ?

Merci

Très cordialement,

Hugues

Bonjour,

un code à mettre sur la feuille 1 de votre classeur :

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    Sheets("Feuil2").Delete
    Sheets("Feuil1").Copy After:=Sheets("Feuil1")
    ActiveSheet.Name = "Feuil2"
    Sheets("Feuil1").Activate
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub

@ bientôt

LouReeD

Bonjour toutes et tous, Bonjour LouReeD,

LouReed merci pour votre réponse.

Je pense que je ne n'ai pas du être suffisamment précis sur la description de mon besoin et l'expression miroir est certainement du coup trompeuse.

En effet Feuil1 et Feuil2 ne seront pas forcément stricto sensu identique, dans leur contenu sur l'ensemble des plages (il pourra y 'avoir des donnes données supplémentaires dans la continuité des lignes et ou colonnes en Feuil2 soumise à contenu et formules) ,par contre la structure des ligne et colonnes oui.

Très cordialement

Hugues

Bonjour,

du coup quelle est l'utilité de cette deuxième feuille ?

@ bientôt

LouReeD

Bonjour HUGOBASS, LouReed, le fil

@LouReed

C'est sans doute pour éviter d'utiliser le bon vieux papier carbone ...

@HUGOBASS

Pardon, c'est de l'humour !

Si je reformule ta demande : Tu voudrais par exemple qu'un changement en [Feuil1] de taille de colonne, se répercute automatiquement dans [Feuil2] ?

Bonjour…

Avec ce que j’ai compris !

Changement en Feuil1 : copie ou pas de ceux-ci en Feuil2 :

Private Sub Worksheet_Activate()
    If MsgBox("", vbYesNo, "mise à jour totale ?") = vbNo Then Exit Sub
    Feuil1.Cells.Copy [A1]
End Sub

Récupération ou pas en Feuil1 de la copie :

Private Sub Worksheet_Activate()
    If MsgBox("", vbYesNo, "mise à jour totale ?") = vbNo Then Exit Sub
    Feuil2.Cells.Copy [A1]
End Sub

@LooReeD() : elle pourrait servir à neutraliser tous les changements d’un seul coup, non ?

@Green ShoftS (salut) : dans ta demande, la première macro pourrait suffire non?

Bonjour HUGOBASS, le fil

@Ordonc

Non je crois que tu fais erreur ! Il semblerait que Hugues ne cherche qu'à avoir le même formatage mais pas nécessairement les valeurs et/ou formules !

Mais laissons-le répondre à nos questions et propositions !

Bonjour @ tous !

C'est en fait une recopie partiel de la structure vu qu'en feuille 2 il peut y avoir des données supplémentaires "en bout de ligne" ou "de colonne".
Pour moi au vu du premier message c'était une recopie structurel et de valeurs donc un copie de feuille était "idéale", mais non.

@Ordonc, vous faites également une copie "totale" des données, donc il y a écrasement des valeurs supplémentaires...

Donc pour reprendre la formulation de "GSS" c'est une recopie de la structure de la feuille 1. Mais qu'en est-il des données supplémentaire en bout de ligne lors de la suppression de colonne "correspondante" en feuill1 ? De même pour les lignes !

Et surtout quel en est utilité ? Autant il y a autre chose à faire pour aboutir au même résultat !

@ bientôt

LouReeD

Bonjour le fil

@LouReed

Donc pour reprendre la formulation de "GSS" c'est une recopie de la structure de la feuille 1. Mais qu'en est-il des données supplémentaire en bout de ligne lors de la suppression de colonne "correspondante" en feuill1 ? De même pour les lignes !

Je me posais aussi la même question... Je pense qu'il doit s'agir d'une sorte de tableau/formulaire qui peut évoluer dans le temps en terme de présentation, nombre et/ou taille de colonne, etc. ... à voir !

Bonjour HugoBass, je te propose ce fichier qui comporte deux formules, une pour les entêtes du tableau de la première feuille, une autre pour le contenu (databodyrange) de ce même tableau. Ces formules étant dynamiques, le contenu du tableau sera identique en permanence.

En l'absence de réponse de HUGOBASS, moi je dirais : oui pour les valeurs mais il parle de structure, si dans votre fichier vous supprimer une ligne dur la feuille 1 alors cette ligne n'est pas supprimée sur la feuille 2... Enfin moi c'est ce que je comprend qu'il faut qu'il se passe.

@ bientôt

LouReeD

Bonjour à toutes et tous,

Merci de l’intérêt porté sur mon post.

Je vous envois un fichier plus explicite à l’issue de mon absence pour week-end familiale.

Mais effectivement feuil2 contiendra des éléments supplémentaires par rapport à Feuil1 mais en s’appuyant sur les lignes et colonnes issues de Feuil1 contenant des données que ce soit sous forme de valeurs brutes ou de formules.

La Feuil1 est la Feuille matrice (feuille mère) qui détermine la structure de base dès item lignes et colonnes en nombre de la feuille 2

Dans le classeur exemple à venir je vous mettrais une version simplifié de la vraie base. En fait à partir d’une Feuil1 on détermine un compte de résultat dit point mort (les lignes et les colonnes sont les différentes composantes Ressources et Charges et par ajout ou suppression on peut les faire varier) la Feuil2 P&L reprend ses éléments (et dynamique en fonction des colonnes et lignes de Feuil1) pour faire des simulations de compte de résultats à 1, 2 et 3 ans (des colonnes supplémentaires par rapport à Feuil1)
Merci de nouveau

Très cordialement

Hugues

Bonjour HUGOBASS

Merci pour ce retour. Tes explications rendent ton besoin un peu plus clair !
Nous attendons ta PJ dès ton retour, pour pouvoir trouver une solution, au pire t'aider au mieux !

Bonjour à toutes et tous,

Comme annoncé le classeur exemple de la base réelle (données fictives, non finalisées sur mise en forme et mise en page).

Les feuilles avec onglets colorés en rose sont le feuilles exemple avant ajout et ou suppression de ligne et ou colonne.

Les feuilles avec onglets colorés en rouge sont les feuilles exemple pour résultat attendu quand ajout et ou suppression de ligne et ou colonne.
(feuille "Point mort avec +-ligne colonne" répercute ajout et ou suppression de ligne et ou colonne sur feuille "P&L attendu +- ligne ou colonne")

En attendant vos retours, je vais examiner les pistes déjà proposées pour lesquelles je vous remercie.

Bien à vous,

Très cordialement

Hugues

Bonjour HUGOBASS

/Désolé pour le retard de réception/réponse, mais ma connexion internet en ce moment est très aléatoire à cause d'un passage 4G/5G je crois... Il semblerait que les choses soient maintenant réglée/

J'ai regardé ta PJ, j'ai compris le concept général :

  1. tu veux pouvoir faire une copie des onglets marqués "roses" vers ceux marqués "rouge" dans lequel certaines lignes et/ou colonnes peuvent être ajoutées/supprimées
  2. cependant comment devons-nous déterminer ces ajouts/suppressions ?
    1. tous sont-ils dans la feuille-mère "rose" comme tu la nommes ou bien seront-ils réalisés dans la feuille-fille "rouge" ?
    2. souhaites-tu "à la base"
      1. faire une bête copie-carbone de "rose" vers "rouge" et adapter seulement ensuite "rouge" en fonction des besoins
      2. ou plutôt trouver un système de marquage dans "rose" de ajout/suppression en amont de la copie vers "rouge"

Bonjour à toutes et tous, Bonjour Green Softs,

Green Softs, merci pour ton retour et n'en sois pas désolé au contraire peu importe ce que tu appelles un retard tu portes intérêt à m'aider c'est donc bien pour moi.

En retour à tes points :

1 : Non je ne veux pas faire une copie des onglets roses verts les rouges. Les onglets rose sont exemples avant manipulation de ligne ou colonne. Les ongles rouges sont ceux simulés avec dans l'exemple un ajout de ligne et colonne.

Ainsi l'onglet Point mort est la matrice qui doit être reprise dans l'onglet P&L.

Je n'arrive manifestement pas à exprimer clairement mon besoin; je voudrais que dés qu'une ligne et ou colonne et ajouter ou supprimer dans l'onglet Point mort (qui est la matrice) cela se répercute à l'identique dans l'onglet P&L exactement à l'identique

2 : P&L reprend tous les éléments de Point mort y compris ligne ou colonne ajoutée à l'identique et conserve avec le décalage les données supplémentaires présentes (CF colonne D à H dans onglet P&L rose qui deviennent dans onglet rouge qui simule le résultat attendu colonne E à i. idem ligne)

Merci

Très cordialement

Hugues

Bonjour HUGOBASS,

Je commence à mieux cerner ton besoin... Je suis adepte de la théorie qu'un bon schéma explique souvent beaucoup mieux qu'un long discours...

En somme (ne parlons que des colonnes pour l'instant), à la base nous avons :

Un onglet [POINT MORT] qui sert de base de calcul à un autre onglet [COMPTE RESULTAT]

image

Puis nous pouvons décider d'ajouter ou supprimer une colonne (ou plusieurs) dans l'onglet [POINT MORT] ce qui devra donc être répercutée dans [COMPTE RESULTAT]

image

Nous devons donc ajouter cette nouvelle colonne dans [COMPTE RESULTAT].
En conservant l'ancien [COMPTE RESULTAT] à l'identique ET en décalant les anciennes colonnes [COMPTE RESULTAT] vers la droite...

image

Question:

Je suppose que les colonnes s'ajoutent toujours après les hypothèses (donc après la 3ème colonne). Cependant si après ce 1er ajout, j'ajoute par exemple, 2 nouvelles après la 1ère... où doivent être placées ces nouvelles colonnes dans [COMTE RESULTAT] ?

Bonjour toutes et tous, Bonjour Green SoftS,

Green SoftS

Question:

Je suppose que les colonnes s'ajoutent toujours après les hypothèses (donc après la 3ème colonne). Cependant si après ce 1er ajout, j'ajoute par exemple, 2 nouvelles après la 1ère... où doivent être placées ces nouvelles colonnes dans [COMTE RESULTAT] ?

Oui dans la plupart des cas les colonnes seront ajoutés après les hypothèses, néanmoins il faut si possible prévoir q'un ajout et ou suppression puisse se faire avant

La structure des colonnes et lignes dans P&L [COMPTE RESULTAT] (pour vous citer) doit reprendre la même que [POINT MORT]; toutes lignes et colonnes présentes ajoutées et ou supprimées.

Nous devons donc ajouter cette nouvelle colonne dans [COMPTE RESULTAT].

En conservant l'ancien [COMPTE RESULTAT] à l'identique ET en décalant les anciennes colonnes [COMPTE RESULTAT] vers la droite...

La règle est bien dans tous les cas de décaler les anciennes colonnes [COMPTE RESULTAT] qui ne sont pas présentes dans [POINT MORT] vers la droite

Merci de vouloir m'aider

Bien à vous,

Très cordialement,

Hugues

Rechercher des sujets similaires à "onglet miroir ajout suppression lignes colonnes"