Lier les formats des cellules d'une feuille à une autre

[Fermé]
Signaler
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
-
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
-
Bonjour,

J'aimerais pouvoir lier les formats des cellules d'une feuille 1 à une autre feuille 2. J'ai fait le lien des données pour qu'elles se mettent à jours dans feuille 2 lorsque changées dans feuille 1.

Par contre seules les données se mettent à jours. Les couleurs des cellules ne changent pas.

Ici, il est nécessaire que la mise à jours des formats soit aussi automatique que celle des données. Pas question d'utiliser le pinceau pour copier/coller les formats d'une feuille à l'autre à chaque fois qu'un changement est fait sur la feuille 1. Les formats peuvent être n'importe quoi tels couleur de cellule, couleur de bordure, couleur de texte, police en gras ou en italique, etc...

Est-ce possible?


8 réponses

Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour,

Exemple avec une macro :
https://www.cjoint.com/c/EGowtBM3jvw
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47
Bonjour Patrice,

Ta macro est bonne sauf que j'aimerais savoir s'il serait possible d'y aller par zone (groupe de cellules).

J'ai joint un échantillon. Il est petit pour fin de trouver une solution mais le vrai fichier contient un très grand nombre de lignes, colonnes et continuera de grandir. Des onglets seront ajoutés pour chacune des années qui viennent.

Mon premier onglet est ma feuille de travail sur laquelle toutes nouvelles données sera entrées. Les onglets suivants doivent se modifier (données et formats) automatiquement, tout en respectant les années e.i.: onglet 2015 correspondra seulement aux données de la colonne 2015 de ma feuille de travaille, et ainsi de suite pour les autres années.

J'ai déjà déterminé les zones en utilisant cette fonction:
Pour onglet 2014 zone A1:B7 ={'Feuille de Travail'!A1:B7}

Pour onglet 2015 zone A1:A7 ={'Feuille de Travail'!A1:A7}
Pour onglet 2015 zone B1:B7 ={'Feuille de Travail'!C1:C7}

Pour onglet 2016 zone A1:A7 ={'Feuille de Travail'!A1:A7}
Pour onglet 2016 zone B1:B7 ={'Feuille de Travail'!D1:D7}

Avec cette fonction, toutes mes données se mettent à jours automatiquement. Mais pas les formats qui sont aussi très importants.

Crois-tu que ta macro peut être modifiée pour correspondre à mes zones prédéterminées?

Voici le lien: https://www.cjoint.com/c/EGtoV5ICiaD

Merci d'avance pour ton aide :-)
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour,

Je suis en vacances et ici, je n'ai qu'Excel 2003 (évites les xlsm). De plus mes visites sur le Forum seront plus espacées.

Ma macro ne s'applique pas aux formules matricielles et ne fonctionne pas dans le sens que tu désires (depuis la feuille 1 vers les autres) mais il est possible de la modifier.

Pourquoi utilises une formule matricielle ?
Une formule simple ne ferait-elle pas le même effet ?

Patrice
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47 >
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021

Bonjour Patrice,

J'utilise cette formule matricielle parce que c'est ce qui m'a été suggéré pour lier les données d'une zone de cellules de la feuille 1 à une autre feuille. De plus chaque feuille suivante doit rapporter les données correspondant à une zone spécifique (une année spécifique) de la feuille 1. Mais si tu as une autre suggestion vas-y :-)

Par contre, si tu es en vacances, pas de problème. Je continue de chercher.

Elise
Messages postés
54531
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 septembre 2021
16 463
Non, BILLING !
Ce n'est pas possible sans un code en VBA (cf #1 de Patrice33740).
Il faut encore une fois rappeler que seuls les copier-coller et les insertions de fichier conservent les formats.
Les formules et les recherches ne peuvent transférer que des données ; jamais des formats.

Salutations à vous deux.
Messages postés
54531
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 septembre 2021
16 463
Jette un oeil à ce message et surtout au suivant !
Messages postés
24161
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 août 2021
6 873
Bonjour,

Il n'y réellement que 7 lignes ou ça peut être plusieurs centaines ?
Tu veux faire aussi la colonne A. Ce ne sont pas seulement des titres ou libellés invariants ?
A-tu des formules dans d'autres feuilles qui utilisent les feuilles année A:B ?

Vu qu'un changement de format n'est pas détectables, si tu as peu de lignes on peut attendre que tu actives une feuille pour la mettre à jour (valeurs et formats). Si les résultats sont utilisés ailleurs il faudra soit toutes les mettre à jour, soit faire autrement si beaucoup de lignes.

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Messages postés
24161
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 août 2021
6 873
L'intérêt de faire un MP si c'est pour ne pas assurer de suivi ensuite ?
eric
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47 >
Messages postés
24161
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 août 2021

Désolée Eric, je reviens tout juste de quelques jours de vacances.
Pour répondre à tes questions:

Il y aura des centaines de lignes dans le vrai fichier, et pour chaque nouvelle colonne (nouvelle année), une nouvelle feuille s'ajoutera et sera peuplée des données entrées dans cette nouvelle colonne;

Oui, colonne A représente des données invariables (titre, texte, etc). En fait, dans le vrai fichier, il y a un certain nombre de colonnes à gauche et de lignes en haut des entrées de données, qui sont invariables.

Il n'y a pas de formules, juste des données;

Si tu préfères, je peux fabriquer un fichier plus gros, ressemblant un peu plus à ce qui m'a été fourni. Je travaille aussi sur un échantillon.

Elise
Messages postés
24161
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 août 2021
6 873
Bonjour,

Si tu préfères, je peux fabriquer un fichier plus gros, ressemblant un peu plus à ce qui m'a été fourni.
Non, pas un peu plus, mais exactement.
Si on dit à la macro de regarder en B2 et que c'est en Z38 ça fonctionnera beaucoup moins bien...
Structure exacte nécessaire, qq données suffisent.
Mais là j'ai oublié tout ce que j'avais analysé.
eric
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47 >
Messages postés
24161
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 août 2021

Voici ce que j'ai: https://www.cjoint.com/c/EGEqlDj4bTE

Je suis en attente d'une réponse de la personne pour qui je fais ce fichier. Je lui ai demandé s'il ne préférerais pas une nouvelle feuile pour chacune des années à partir de 2022 à etc... Dans le fichier il a regroupé les années 2022 à 2025 en une seule colonne, ainsi que 2026 sans année de fin.
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour,

Ce fil est-il toujours d'actualité :
Lier les formats des cellules d'une feuille à un autre ???
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689 >
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021

Bonjour Élise,

Ton nouveau fichier n'est pas très explicite.
Il n'y a apparemment aucune formule dans ce fichier.
De quelle(s) cellule(s) de quelle feuille veux-tu copier le format vers quelle feuille et cellule ?

Ne pourrais-tu pas utiliser simplement une MFC identique sur la source et sur la cible ???

Patrice
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47 >
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021

Je ne crois pas qu'une MFC soit possible. Il n'y a pas de règle précise pour le format des cellules. Du moins, pas des règles qui se traduisent par un certain nombre ou certain texte.

La colonne P de chacune des feuilles autres que la feuille 1 doit contenir les données et format des cellules de la feuille 1 de la colonne au même titre que les feuilles suivantes.

Non il n'y a pas de formule. Tout ce que je veux c'est pouvoir entrer toutes mes données dans la feuille 1 et que les données ainsi que les formats des cellules des colonnes pour chacune des années (2014 & before, 2015, 2016, etc) se reproduisent dans les feuilles correspondant aux années: données de la colonne 2015 se reproduiront dans la feuille nommée 2015, ainsi de suite.

J'ai trouvé comment reproduire les données mais pas comment reproduire les formats.

Elise
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689 >
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021

Pour reproduire les valeurs et les formats il suffit de faire :
rngSource.Copy Destination:=rngCible
et si la source est une formule ajouter :
rngCible.Value = rngSource.Value


Patrice
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47 >
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021

Patrice je ne m'y connais pas assez en VBA pour savoir comment appliquer ce que tu proposes. Peux-tu l'ajouter à ce fichier: https://www.cjoint.com/c/EGEtlAs7xAi

Merci

Elise
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Re,

Je ne comprends pas l'intérêt des différents onglets, sachant que toutes les informations sont déjà dans le premier,
Un filtre ne suffirait-il pas ?

Pourquoi y a-t-il des lignes vides dans les données, c'est fortement déconseillé !
Si c'est pour espacer les infos, il est préférable d'augmenter la hauteur de ligne.

Patrice
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
RE,

Voici un exemple basé sur ton tout premier fichier fourni :
https://www.cjoint.com/c/EGEtlAs7xAi

Il ne fonctionne pas pour les formules matricielles.
Il n'y a pas d'évènement pour le changement de format, je l'ai donc activé pour le changement de sélection et/ou le changement de contenu.
Il accepte la multi-sélection avec un nombre de cellules limité à cause du temps d'exécution (exemple à 1000)
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Plutôt celui-ci (il y a des bugs dans celui ci-dessus) :
https://www.cjoint.com/c/EGEvmRMkyei
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour Élise,

Un fichier exemple pour copier les données entrées sur l'onglet de travail vers les autre onglets (avec leur format) :
https://www.cjoint.com/c/EHbwkKtOC1i
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47
J'ai fait le test avec ton fichier exemple et ça semble fonctionner. Si je comprends bien, les formats de cellules ne se copient pas tant qu'aucune donné n'ait été ajoutée dans la cellule?

En testant j'ai ajouté de la couleur à une cellule vide et constaté que la couleur ne c'était pas ajoutée dans la cellule de l'onglet correspondant. Mais aussitôt que j'ai ajouté une donnée, le format s'est modifié.

Je crois que ça devrait satisfaire la personne qui va travailler avec ce fichier.

Mais là je viens de copier le module dans le fichier original et y a rien qui se passe. Peux-tu y jeter un coup d'oeil?

https://www.cjoint.com/c/EHduUFqYEeD

Merci encore une fois.

Elise
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour Élise,

« En testant j'ai ajouté de la couleur à une cellule vide et constaté que la couleur ne c'était pas ajoutée dans la cellule de l'onglet correspondant. » :
C'est normal, comme je te l'ai dit précédemment, il n'y a pas d'évènement pour le changement de format, il n'est donc pas possible de le détecter !

« Mais là je viens de copier le module dans le fichier original et y a rien qui se passe.» Cette macro est prévue pour ton premier fichier, avec une seule colonne par année et aucune cellule fusionnée.

De plus, dans ton dernier fichier il n'y a pas toujours le même nombre de colonnes par année, certaines à 2 et d'autres à 1 !!!

J'ai donc adapté la macro à ton dernier fichier avec une contrainte : comme c'est déjà le cas dans ton fichier, il faut qui le titre (l'année) soit fusionné sur le nombre de colonnes désirées.

Voici ton fichier avec la macro :
https://www.cjoint.com/c/EHfsn6AAEki

Pour copier un format il y a 2 possibilités, soit :
- modifier le contenu d'une cellule (comme tu l'a fait précédemment)
- ou plus simplement, sélectionner la ou les cellules à copier.

Pour essayer, tu peux sélectionner les colonnes P à S (entières) :
La macro crée automatiquement les 2 onglets et copie toutes les données.

Cordialement
Patrice
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47
Bonjour Patrice,

Ça semble fonctionner sauf que lorsque j'ajoute une nouvelle année, j'ai ce message d'Excel: "Le titre (l'année) doit être renseignée avant d'écrire dans cette colonne."

Sais-tu pourquoi je reçois ce message et s'il y a moyen de l'empêcher d'apparaître? À quelques reprises j'ai dû faire appel au Gestionnaire de Tâches pour arrêter Excel car il ne répondait plus. Je ne pouvais pas me débarrasser du message.

Aussi, une dernière chose. Est-ce possible que si on efface soit une colonne au complet ou simplement le tire (l'année) d'une colonne, que la feuille qui s'est créé s'efface aussi automatiquement? Je sais qu'il est aussi très facile de simplement retirer la feuille manuellement mais, je me demandais si c'était possible :-)

Un gros merci :-)

Elise
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689 >
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021

Bonjour,

Le message est normal, il apparait lorsque tu écris dans une nouvelle colonne sans avoir défini l'année (sur la ligne 6) : il faut d'abord définir l'année avant d'y écrire des données sinon sans l'année, l'application ne peut pas créer la nouvelle feuille.
Quand tu réponds Ok, il message s'efface, mais il réapparait chaque fois que tu sélectionnes une cellule extérieure aux colonnes renseignées (en ligne 6).

Quand à supprimer la feuille automatiquement, c'est possible mais pas forcément très sur.
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 689
Bonjour Élise,

Alors, est-ce que ça correspond à ce que tu veux ?
Messages postés
163
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
31 mars 2021
47
Bonjour Patrice,

J'ai pas encore eu la chance de tester. Mais je t'en informe aussitôt que que je l'aissaie.
Désolée pour l'attente.

Elise