Lier la MISE EN FORME entre 2 cellules

F

Françoise

Guest
Chers érudits excelliens,

J'aurais deux problèmes à vous soumettre et vous êtes mon seul espoir.

1) Liaison de mise en forme

Je sais comment lier le contenu de deux cellules, mais est-il possible de lier leur mise en forme?

Concrètement, la cellule A1 étant liée à la cellule B1, je souhaiterais que quand je change la couleur de remplissage de A1, la même opération se passe en B1.


2) Somme de chiffres dans une colonne incluant des sous-totaux ET des lignes vides

Je voudrais additionner tous les chiffres d'une colonne SAUF les sous-totaux qui y figurent. Or, pour des raisons esthétiques (ça n'est pas très excellien, je sais!), je souhaite conserver des lignes vides dans mon tableau et du coup, la somme totale inclue les chiffres ET les sous-sotaux.

Est-il possible que la somme finale ignore les sous-totaux intermédiaires?


Merci d'avance pour toute l'aide que vous pourrez m'apporter et bonne journée à tous/toutes!

Françoise
 

Sylvie

XLDnaute Accro
Bonjour Francoise, le forum

as tu essayé la fonction SOUS.TOTAL ?
(j'ai bien dit la fonction et non les sous totaux que tu trouves dans le menu Données). Cette fonction te permet de faire précisemment des sous totaux intérmédiaires et de ne pas compter les sous.totaux se trouvant dans ta plage.
Le sous total 'somme' de la plage D7 à D10 s'écrit comme ceci :
=SOUS.TOTAL(9;D7:D10).

Pour ta première question joins si possible un fichier pour que l'on puisse te guider concrêtement sur une mise en forme conditionnelle.

Merci
 

chris

XLDnaute Barbatruc
Bonjour
En mettant des lignes blanches tu perd 90% des automatismes d'Excel.
Tu peux chager la hauteur des lignes et l'alignement vertical : tu auras autant d'espace qu'en sautant des lignes, et donc le même résultat esthétique, mais tu garderas les automatismes.
 
F

Françoise

Guest
Re-bonjour,

Merci à tous! Pour la somme des sous-totaux, fabuleux, ça marche.
C'est vrai, Chris, les lignes vides, ce n'est pas malin, mais je n'obtiens pas le même résultat en modifiant la hauteur des lignes. Enfin, l'essentiel, c'est que la somme se fasse. Re-merci à tous!

Pour les couleurs, merci à eaquued pour son fichier, mais je ne crois pas que la mise en forme conditionnelle (que je pratique dans d'autres cas) soit la solution, à moins que je n'aie pas compris ce que tu proposes...

J'ai donc suivi tes/vos conseils et vous ai joint un fichier que j'ai essayé de rendre le plus explicite possible. Si je ne suis pas claire, dites-le moi.


Merci encore et à bientôt,
Françoise [file name=Liaisoncouleur.zip size=2235]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Liaisoncouleur.zip[/file]
 

Pièces jointes

  • Liaisoncouleur.zip
    2.2 KB · Affichages: 290

Sylvie

XLDnaute Accro
Re bonjour Francoise, Eaquued (c'est pas simple comme pseudo ! ;))

la liaison couleur entre entre tes colonnes DELTA étant très difficile à obtenir (en tout cas par moi), j'aimarais que tu me précises (éventuellement avec un autre fichier plus complet) quelles sont les couleurs que tu peux avoir ? et qu'est ce qui déclenche en aval l'application de tel code de couleur dans tes cellules D3 à D7 ?
J'ai bien essayé la fonction LIRE.CELLULE en suivant les conseils de Dame Celeda, mais je viens de m'y casser le nez. :(
Donc on va prendre la problème à la racine ;)

Merci
 
F

Françoise

Guest
Bonjour, Eaquued et merci pour ton message. Désolée de ne pas avoir répondu plus tôt: oui, D3=B23 et je souhaite AUSSI lier/appliquer le même format, bref le but est que les cellules soient TOTALEMENT liées, tant pour le contenu que pour le format.

Bonjour Sylvie40, je me rends bien compte que ce que je cherche à faire est un problème! Merci d'y réfléchir, en tous cas.
Ce qui déclenche l'application de tel ou tel code de couleur est relatif: le dossier concerné dans chaque colonne Alpha, Beta, etc. est, par exemple, en jaune s'il est 'en attente', en vert s'il est 'en cours de réalisation' ou en rouge s'il est 'classé'. C'est un exemple ultra-simplifié et il y a en réalité 5 ou 6 couleurs différentes selon l'avancement du dossier et aussi selon sa catégorie, catégorie qui évolue au fil des versions. Je sais, je demande beaucoup!

Dans tous les cas, merci à tous les deux de vous pencher sur cette énigme et bon courage!

A +,
Françoise
 

eaquued

XLDnaute Junior
Bonjour,
je ne pense pas que tu puisses réaliser ce type d'opérations avec les formules classiques mais avec du VBA cela doit être réalisable.Je suis navré mais je ne peux pas t'aider en VBA car je n'y connais rien! :(
En revanche, je pense que ce type de problème a du déjà être abordé sur le forum.Regarde,on ne sais jamais.
 
F

Françoise

Guest
Merci pour ton message, Eaquued,

Le Forum m'avait déjà dépanné pour un problème de cellules colorées (décidément!) il y a quelques mois et m'avait proposé une solution VBA. Mais j'avoue que je n'y connais rien non plus, donc il faudra que je trouve un programmateur qui a déjà pondu une belle équation toute prête à l'emploi.

Je vais regarder plus attentivement pour voir si quelque chose existe pour régler mon problème.

Merci quand même et bonne journée!
Françoise
 

Sylvie

XLDnaute Accro
Bonjour Francoise, Eaquued, le forum

comme depuis très peu je me lance dans le grand bain (avec ma bouée bien sur ;) ) j'ai essayé ce code VBA pour tenter de dépanner Françoise
Je l'ai mis dans ThisWorkbook (peut être fait il le mettre dans Module ??) mais toujours est il qu'après avoir rajouté une trosième feuille au classeur de Françoise, il s'avère que ce code ne fonctionne pas sur toutes les feuilles du classeur
Code:
Sub RecopieCellules()

Dim WS As Worksheet

For Each WS In Worksheets
    Range('A1:A7').Select
    Selection.Copy
    Range('A21:A27').Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D1:D7').Select
    Selection.Copy
    Range('B21:B28').Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
Next

End Sub


Où est l'erreur ou l'omission ?

Merci par avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour à tous et Toutes


WOW !!! Sylvie en VBA, j'ai l'impression qu'on lui a refilé le 'virus' ;)


Donc Première Correction :

Sub RecopieCellules()
Dim WS As Worksheet 'Bien Bien !!!

For Each WS In Worksheets 'Bien


    Range('A1:A7').Select
'Pas Bien !!!!
    Selection.Copy
'OK
    Range('A21:A27').Select
' Pas Bien !!!!
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D1:D7').Select
'Pas Bien !!!!
    Selection.Copy
'OK
    Range('B21:B28').Select
'Pas Bien !!!!
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
Next

End Sub


Voici la version corrigée

Sub RecopieCellulesCorrected()
Dim WS As Worksheet

   
For Each WS In Worksheets
       
With WS
            .Range('A1:A7').Copy
            .Range('A21:A27').PasteSpecial Paste:=xlPasteAll
            .Range('D1:D7').Copy
            .Range('B21:B28').PasteSpecial Paste:=xlPasteAll
       
End With
   
Next

End Sub

Remarque bein les petits points devant les Range et aussi le With WS / End With

Mais surtout bravo de te lancer, c'est super on manque d'effectif VBA féminins depuis Léa et Valérie... (Sniff Sniff)

Bon Appétit
@+Thierry


EDITION !!!


PS : pour l'emplacement, non ce peut (et devrait) être dans un module standard (Module1), le Module ThisWorkBook sera plutôt réservé pour des actions lancées en tant que Macro Evènementielles comme celle-ci pour une action à l'ouverture du classseur :



Re Bon App
@+Thierry

Message édité par: _Thierry, à: 19/07/2005 12:45
 

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

Thierry, trop rapide, inutile que je post mon bidule c'est le meme que le tiens :)

Par contre, attention : .Range('B21:B27').

Ce type de macro, sylvie ce place généralement dans un module.

salut

Edition : si on ne veut copier que la couleur, on peut utiliser :

.Range('B21:B27').PasteSpecial Paste:=xlPasteFormats

Message édité par: Hervé, à: 19/07/2005 12:44
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Hello Hervé

Sorry t'avais pas vu, et en plus j'avais pas vu non plus la question pour le 'thisWorkBook, d'où mon edition.

Ah oui t'as l'oeil de lynx !! Hein Sylvie !! il vaut mieux respecter respecter la même taille de plage...

Et en fin de code juste avant le End Sub tu peux mettre cette ligne aussi :

Application.CutCopyMode = False

Pour éviter le scintillement des sélections copiées

Et sinon oui en fait moi je n'ai pas lu tout le fil lol, mais il semble que 'xlPasteFormats' est plus approprié à la demande de Françoise

Bon Appétit
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 289
Membres
103 508
dernier inscrit
max5554