[Excel] Lier format de cellules

Résolu/Fermé
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011 - 15 déc. 2011 à 13:06
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 - 21 déc. 2011 à 15:57
Bonjour,

Depuis des années je trouve des solutions à mes problèmes grâce à CCM.net mais pour une fois c'est moi qui vais poser une question :)
C'est d'ailleurs une question maintes fois posée mais je ne trouve pas les réponses ou cas de figure adéquates.

Avec Excel 2010, je souhaite copier des cellules d'un fichier dans un autre fichier avec lien pour les valeurs et pour la mise en forme.
La copie avec lien je sais faire.
Récupérer une mise en forme à un instant I je sais faire.
Faire suivre la modification de la mise en forme d'une cellule à une autre dans un autre fichier, je ne sais pas faire.
Mais je sais par contre que si la mise en forme est conditionnelle ça fonctionne.

Voici le but :
J'ai un tableau dans le fichier A et un autre tableau dans le fichier B
Je voudrait créer un fichier C contenant une copie à jour des tableau A et B.
Si je modifie le tableau A en mettant des cellules en rouge, il faut que quand j'ouvre le fichier C il se mette à jour pour voir ces cellules rouges.
Une image liée pourrait me suffire mais le problème c'est que pour mettre à jour l'image on doit obligatoirement ouvrir le document modèle. (du coup je comprend pas trop à quoi sert cette image liée si ça mise à jour dépend de l'ouverture du modèle :S )

J'ai lu plusieurs dizaines de sujets là-dessus et j'ai peur que cela soit impossible...
A voir également:

3 réponses

Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
16 déc. 2011 à 13:08
Nefisto, au lie d'un collage spécial lié, essaie plutôt une Insertion/Objet/Fichier/Parcourir/Avec liaison.
2
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
19 déc. 2011 à 15:27
Je n'ai qu'un mot à dire Raymond : Bravo !
En fait il y en a un second : Merci !
Le lien entre les fichiers fonctionne parfaitement.
J'ajouterai pour ceux qui nous lisent qu'après l'insertion on peut préciser la zone que l'on veut copier.
Explication :
Par défaut quand on clique sur l'image obtenue à partir d'un fichier Excel standard on a :
=Excel.Sheet.12|'C:\Users\Nom du PC\Desktop\Fichier.xlsx'!''''

S'il s'agit d'un fichier Excel acceptant les macros se trouvant sur le bureau on a :
=Excel.SheetMacroEnabled.12|'C:\Users\Nom du PC\Desktop\Fichier.xlsm'!''''

On peut préciser une zone en ajoutant son nom dans le code après l'extension.
Par exemple si je veux les cellules de la zone d'impression du fichier Excel standard :
=Excel.Sheet.12|'C:\Users\Nom du PC\Desktop\Fichier.xlsx\Zone_d_impression'!''''

Ou une zone nommée "Toto" du fichier Excel acceptant les macros :
Excel.SheetMacroEnabled.12|'C:\Users\Nom du PC\Desktop\Fichier.xlsm\Toto'!''''
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
20 déc. 2011 à 04:11
Heureux d'avoir pu te dépanner.
En fait, j'aurais dû te faire cette proposition dès ma première intervention, le 15, si j'avais bien analysé ta demande ...
Alors à une prochaine fois ! Cordialement.
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
21 déc. 2011 à 08:54
Argh ! Je m'aperçois qu'avec cette méthode le fichier source et le fichier de destination ne peuvent être ouverts en même temps !
Du coup si le fichier de destination est ouvert cela empêche l'ouverture d'une quinzaine de fichiers ou si l'un des 15 fichiers est ouvert on ne peut pas ouvrir le fichier de destination..
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
21 déc. 2011 à 09:36
Raymond PENTIER a dit :
"J'avoue qu'il ne m'est jamais venu à l'esprit de faire ce genre de manipulations : fabriquer un fichier avec plein d'autres fichiers insérés et liés ...
Il y a t-il un intérêt majeur ou une obligation absolue pour fonctionner de cette manière hasardeuse ?
Ne serait-il pas plus simple de déplacer (ou de copier) tes 15 fichiers dans 15 feuilles de ton fichier principal ? Plus aucun problème d'ouverture et de fermeture ne se posera alors !
"
Je suis dessinateur dans une société d'agencement.
Nous sommes 4 dessinateurs et 5 conducteurs de travaux.
Chaque chantier possède un fichier Excel contenant la liste des plans fait ou à faire.
Ces listes sont donc mises à jour régulièrement par les dessinateurs et les conducteurs, et se trouvent dans les dossiers respectifs à chaque chantier.
Le but est de créer pour le patron un fichier récapitulatif regroupant toutes les listes de plans de tous les chantiers en cours (une feuille par chantier). Il est donc important que les listes se mettent à jour à l'ouverture du fichier et que le fichier de récap puisse être ouvert en même temps d'une liste de plan.
Sur la première feuille se trouve un tableau récapitulatif de l'avancement des chantiers (par exemple le taux de plans faits par rapport au nombre de plans total à faire).
Actuellement j'utilise une macro par chantier sur chaque feuille. Cette macro :
1/ ouvre le fichier source
2/ copie une zone nommée
3/ fait un collage spécial dans le fichier de destination en gardant la mise en forme
4/ fait un nouveau collage spécial pour coller les valeurs avec liens

Avec cette méthode les valeurs dans les cellules se mettent à jours automatiquement à l'ouverture du fichier. Mais pas la mise en forme... Si on applique un fond rouge à une cellule (sans passer par la mise en forme conditionnelle) cela n'apparaitra pas sur le fichier de destination. Ou si on rajoute une ligne sur le fichier source les mises en forme du fichier de destination ne suivront pas et seront donc décalées.
J'ai mis un bouton sur chaque feuille pour relancer manuellement la macro et mettre à jour la mise en forme.
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
21 déc. 2011 à 15:57
Effrectivement, ton cas de figure est plus compliqué que je ne pensais.
Malheureusement je n'y connais rien en VBA, et je ne saurais donc te conseiller pour tes macros.
Bon courage.
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
15 déc. 2011 à 14:40
Bonjour Nefisto34.

J'essaie d'apporter une piste de réponse à ta réflexion "(du coup je comprend pas trop à quoi sert cette image liée si ça mise à jour dépend de l'ouverture du modèle)"

Un fichier lié ne se met à jour, en cas de modification de la source, que si l'utilisateur le souhaite ; et heureusement !
Il peut très bien arriver qu'une même source, la liste des codes postaux de France, par exemple, serve dans plusieurs autres fichiers, et que tu veuilles que l'un ou l'autre de ces fichiers conserve la version non modifiée, une fois que tu as ajouté Mayotte ... Si la mise à jour est automatique et immédiate, c'est loupé.

Mon exemple n'est certes pas le plus pertinent, mais c'est celui qui m'est venu à l'esprit en te répondant ...

Quant à ta conclusion "J'ai lu plusieurs dizaines de sujets là-dessus et j'ai peur que cela soit impossible ...", elle est parfaitement exacte, sauf à ce que quelqu'un te propose une macro qui ferait ça, VBA ayant tellement de possibilités ...

Très cordialement.
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
15 déc. 2011 à 16:03
Merci pour ta réponse.

Je comprends la logique et le bon sens de ta réflexion mais c'est le fonctionnement de l'image liée qui me semble étrange.
Exemple 1 :
Tu crées l'image liée du tableau A dans le fichier C.
Plus tard tu modifies le tableau A et tu fermes le fichier.
J'ouvre le fichier C et là une fenêtre s'ouvre me demandant si je veux mettre à jour.
Que je réponde "mettre à jour" ou "ne pas mettre à jour" le résultat est le même -> l'image ne se met pas à jour.
J'ouvre le fichier A tout en ayant le fichier C ouvert -> l'image se met à jour sans m'avertir et même si à la question précédente j'ai répondu "ne pas mettre à jour".
Tu as dit "Un fichier lié ne se met à jour, en cas de modification de la source, que si l'utilisateur le souhaite ; et heureusement ! ". D'accord avec toi, mais là c'est Excel qui n'est pas d'accord avec nous puisqu'il ne met pas à jour quand on lui demande et met à jour quand on lui a demandé de ne pas le faire et sans nous prévenir en plus.

Exemple 2 :
Ton tableau est sur la feuille 1, tu en crées une image liée sur la feuille 2. Puisque le document modèle est forcément ouvert alors l'image liée se met automatiquement à jour sans demander ton avis.

Je pense sans vouloir être présomptueux qu'il s'agit là d'un bug et malheureusement c'est peut-être la seule fonction qui m'aurait permise de faire ce que je voulais :(
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
20 déc. 2011 à 10:30
Argh ! Je m'aperçois qu'avec cette méthode le fichier source et le fichier de destination ne peuvent être ouverts en même temps !
Du coup si le fichier de destination est ouvert cela empêche l'ouverture d'une quinzaine de fichiers ou si l'un des 15 fichiers est ouvert on ne peut pas ouvrir le fichier de destination...
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
21 déc. 2011 à 02:23
Tu parles bien de la méthode du post #6 ?
J'avoue qu'il ne m'est jamais venu à l'esprit de faire ce genre de manipulations : fabriquer un fichier avec plein d'autres fichiers insérés et liés ...
Il y a t-il un intérêt majeur ou une obligation absolue pour fonctionner de cette manière hasardeuse ?
Ne serait-il pas plus simple de déplacer (ou de copier) tes 15 fichiers dans 15 feuilles de ton fichier principal ? Plus aucun problème d'ouverture et de fermeture ne se posera alors !
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
21 déc. 2011 à 08:56
Tout à fait, je n'ai pas mis mon commentaire au bon endroit, désolé.
Je le recopie donc on après le bon message et y répond à ta question.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
15 déc. 2011 à 17:27
Bonjour à tous,

Tu pourrais utiliser l'appareil photo d'excel.
Données et format sont ainsi mises à jour instantanément.
Cordialement
0
Nefisto34 Messages postés 10 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 21 décembre 2011
16 déc. 2011 à 08:43
Bonjour,

J'ai essayé cette fonction et cela revient à faire Copier/Collage spéciale -> Image liée.
Donc le problème reste entier...
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
16 déc. 2011 à 09:54
Bonjour,

Si je t'ai donné cette indication, c'est que je l'ai testée et qu'elle fonctionne (en tout cas chez moi et avec ma compréhension de ton problème).
J'ai donc créé 3 fichiers, 2 avec des données formatées et le troisième qui récupère une copie avec liaison (via app. photo) à la fois sur les données et sur les formats.
Une modification sur les fichiers sources se répercutent alors sur le fichier destination en temps réel s'il est ouvert et à l'ouverture s'il est fermé.

Je me pose donc la question suivante : comment as-tu utilisé l'appareil photo pour que ça ne fonctionne pas chez toi?

Tu parles de copier/collage spécial -> image liée. Comment fais-tu?

Cordialement
0