De la couleur, toujours de la couleur

D

Dango

Guest
Bonsoir à tous et à toutes,
Comment une couleur sélectionnée en Ex: FI peut être reportée en A1 et B1 sans autre modification que la couleur choisie.

Une petite pièce jointe vaut mieux qu'un grand discours.
J'ai fais mon marché dans le forum pour faire une partie du programme, le reste me semble pas si difficile, mais je peine à trouver la solution.

Merci pour toute l'attention que vous me porterez

Daniel
 

Pièces jointes

  • Emploi_de_couleurs_pour_planning.zip
    8.3 KB · Affichages: 12
M

Marc

Guest
Bonjour,

est-ce qu'un simple copier / collage spécial (format) ne peut pas faire l'affaire ?

Range("H10:H20").Select
Selection.Copy
Range("C10").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("I10:I20").Select
Selection.Copy
Range("E10").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

A+
 
L

LaurentTBT

Guest
Bonjour à tous

Avec un tout petit ajout à ta procédure, en passant par une autre variable range, et en utilisant UNION, cela permet de modifier ce que tu veux pour les cellules de départ (Couleur de fond, couleur de police et caractères gras ou non), et ne modifier que certaines de ces propriétés pour les autres cellules (en l'occurence, ici, uniquement la couleur de fond)
En fait, C2 devient l'ensemble des cellules du matin, où l'ensemble des cellules de l'après-midi.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range, C2 As Range
Application.ScreenUpdating = False 'Pour désactiver la mise à jour de l'affichage
For Each C In Worksheets(1).Range("H10:I20")
If C.Column = 8 Then
Set C2 = Union(C, C.Cells(1, -4), C.Cells(1, -3))
Else
Set C2 = Union(C, C.Cells(1, -3), C.Cells(1, -2))
End If
Select Case C.Value
Case "Congés"
C2.Interior.ColorIndex = 50
C.Font.ColorIndex = 50
Case "Congés n-1"
C2.Interior.ColorIndex = 5
C.Font.ColorIndex = 5
Case "RTT"
C2.Interior.ColorIndex = 6
C.Font.ColorIndex = 6
Case "Récup"
C2.Interior.ColorIndex = 46
C.Font.ColorIndex = 46
Case "Absence"
C2.Interior.ColorIndex = 15
C.Font.ColorIndex = 15
C.Font.Bold = True
Case "Maladie"
C2.Interior.ColorIndex = 29
C.Font.ColorIndex = 29
C.Font.Bold = True
Case ""
C2.Interior.ColorIndex = 0
C.Font.ColorIndex = 0
C.Font.Bold = False
End Select
Next C
Application.ScreenUpdating = True
End Sub


Remarque: j'ai remplacé ta série de IF then ...
par select case

Bonne journée.
Laurent
 
D

Dango

Guest
Bonjour Jean Marc,

J'ai intégré ton bout de programme à mon application.

1) la copie s'ppère sur une seul colone le matin et l'après midi (sur les 2 colonnes du matin et sur les 2 colonnes de l'après midi serait ma préférence)

2) Une fois l'application lancée, elle ne s'arrete plus...

Je te remercie d'y avoir réffléchi. Mais puis-je encore abuser de ta ou de votre gentillesse afin de résoudre cette énigme?
A bientôt Jean Marc.

Daniel
 

Discussions similaires

Réponses
15
Affichages
937
Compte Supprimé 979
C
Réponses
16
Affichages
2 K

Statistiques des forums

Discussions
313 137
Messages
2 095 626
Membres
106 307
dernier inscrit
LETIFI