reproduire les couleurs d'un tableau

C

celine38

Guest
Bonjour,

j'ai un fichier composé de 12 feuilles (où 1 feuille = 1 mois) Sur chaque feuille, j'ai 5 tableaux représentant des semaines d'où un total de 52 tableaux
En colonne, on trouve des secteurs et en ligne les jours de la semaine. Les cellules à remplir corespondent au camion, horaire et tonnage collecté. Que ce soit en ligne ou en colonne, les totaux des données sont calculés via une macro qui additionnera les cellules colorées en jaune, gris ou vert, sachant qu'à l'heure actuelle le tableau est vierge car ces tableaux seront personnalisés par les utilisateurs (coloration des cases dans le même jaune, gris et vert)
Mon objectif est que l'utilisateur remplisse le tableau témoin (1er semaine de janvier situé en D7:X62) avec ces 3 couleurs et qu'il n'ai qu'à appuyer sur 1 bouton pour que les autres tableaux (situé en D78:X103 ; D149:X204 ; D220: X275 ; D291:X348 sur la même page et idem sur les autres feuilles avec en plus D7:X62, vu qu'on retrouve les mêmes tableaux d'un mois à l'autre) se colorent de la même manière que le 1er (les exceptions étant rares puisque les changement possbile seront du aux jours fériés)
Comment faire ?
merci d'avance pour votre aide.



ça le fasse sur les autres tableaux plutot que de devoir le refaire à faire fois (le but des tableaux étant de passer le moins de temps dessus).
En bref, je souhaite faire une macro qui permette de recopier la mise en forme des couleurs sachant que pour l'instant mon tableau est vierge. Je suis pas sure d'etre clair.
La macro doit être créer avant que les couleurs soient mises (puisque ils seront personnalisés).
 

Sylvie

XLDnaute Accro
Re,

avec le maîs géant vert au milieu de ton code je ne sais toujours pas quelles zones copiées
Fais un copier coller de ta macro dans ton post en tapant d'abord sur le bouton ' Code' (dans la barre d'outils au desus du post) puis tu colles ton code puis re'Code'
Merci
 

celine38

XLDnaute Nouveau
Code:
Sub recopiecouleurcollecte()
'
' recopiecouleurcollecte Macro
' Macro enregistrée le 22/07/2005 par tmp_esu_07
'
  ' Copy des couleurs renseignées dans le tableau de janvier
    Sheets('Janv').Select
    Range('D7:X62').Copy
    
    ' coller dans les tableaux de la page
      Range('D78:X133').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D149:X204').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D220:X275').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D291:X346').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        
 ' se positionner en haut de la feuille
Range('A1').Select

End Sub
 

Sylvie

XLDnaute Accro
Re bonjour Celine

essaie ceci

Code:
Sub recopiecouleurcollecte()
'
Dim WS As Worksheet

  ' Copy des couleurs renseignées dans le tableau de janvier

    For Each WS In Worksheets
        With WS
            .Range('D7:X162').Copy
            .Range('D78:X133').PasteSpecial Paste:=xlFormats
            .Range('D7:X162').Copy
            .Range('D149:X204').PasteSpecial Paste:=xlFormats
            .Range('D7:X162').Copy
            .Range('D220:X275').PasteSpecial Paste:=xlFormats
            .Range('D7:X162').Copy
            .Range('D220:X275').PasteSpecial Paste:=xlFormats
            .Range('D7:X162').Copy
            .Range('D291:X346').PasteSpecial Paste:=xlFormats


        End With
    Next

    Application.CutCopyMode = False

End Sub

Fais le test sur toutes tes feuilles.
Il a certainement moyen de positionner .Range('D7:X162').Copy ailleurs dans le code histoire de faire un boucle mais je ne sais pas encore faire. :(

Comme te dirait Thierry note bien le . devant le Range et le With/End With

Si une âme charitable passe par là merci de corriger ce code.

Bonne journée
Sylvie
 

Hervé

XLDnaute Barbatruc
bonsoir tout le monde

A la demande de sylvie avec laquelle je converse sur le tchat,
Une autre approche de son code :

Sub recopiecouleurcollecte()
' Copy des couleurs renseignées dans le tableau de janvier
Dim WS As Worksheet

'fige l'ecran durant la macro
Application.ScreenUpdating =
False


For Each WS In Worksheets
With WS
.Range('D7: X62').Copy
.Range('D78: X133').PasteSpecial Paste:=xlFormats
.Range('D149: X204').PasteSpecial Paste:=xlFormats
.Range('D220: X275').PasteSpecial Paste:=xlFormats
.Range('D220: X275').PasteSpecial Paste:=xlFormats
.Range('D291: X346').PasteSpecial Paste:=xlFormats
End With
Next WS

Application.CutCopyMode =
False

'remet le rafraichissement de l'ecran
Application.ScreenUpdating =
True


End Sub

salut

Message édité par: Hervé, à: 22/07/2005 22:35
 

celine38

XLDnaute Nouveau
Re-bonjour,

Apres un petit week end bien court à mon gout, me revoilà avec mes macros.
J'ai donc testé la macro de Sylvie40. Celle-ci m'a posé qq soucis. Deja ça me copiait bien les couleurs du premier tableau sur les suivants mais de chaque page, ce qui signifiait qu'il fallait remplir le premier tableau de toutes les pages. Deuxièment, j'avais zappé de vous dire qu'apres mes pages mensuelles, j'avais une page synthèse. Du coup la macro marchant aussi sur celle ci m'a deglingué ma page alors que sur elle je 'en voulait pas. Je suis pas sur d'être claire.
En attendant, et comme je n'ai pas vu ton post avant hervé, j'ai bidouillé à ma sauce. En gros, je copie ma mise en forme sur tous les premiers tableaux de mes 11 autres pages puis je copie la mise en forme du premier tableau sur les 4 autres. Voici la macro utilisée :

Code:
Sub recopiecouleurcollecte()
'
' recopiecouleurcollecte Macro
' Macro enregistrée le 22/07/2005 par tmp_esu_07
'
  
  'recopie de la première semaine de janvier sur toutes les premières semaines de chaque mois
    Sheets('Janv').Select
    Range('D7:X62').Copy
    Sheets('Fev').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Mars').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Avr').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Mai').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Juin').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Juil').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Aout').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Sept').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Oct').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Nov').Range('D7:X62').PasteSpecial Paste:=xlFormats
    Sheets('Dec').Range('D7:X62').PasteSpecial Paste:=xlFormats
      
  
    Sheets('Janv').Select
    recopiecouleurmois
    Sheets('Fev').Select
    recopiecouleurmois
    Sheets('Mars').Select
    recopiecouleurmois
    Sheets('Avr').Select
    recopiecouleurmois
    Sheets('Mai').Select
    recopiecouleurmois
    Sheets('Juin').Select
    recopiecouleurmois
    Sheets('Juil').Select
    recopiecouleurmois
    Sheets('Aout').Select
    recopiecouleurmois
    Sheets('Sept').Select
    recopiecouleurmois
    Sheets('Oct').Select
    recopiecouleurmois
    Sheets('Nov').Select
    recopiecouleurmois
    Sheets('Dec').Select
    recopiecouleurmois
  
    Sheets('Janv').Select
 
End Sub


Sub recopiecouleurmois()

' Copy des couleurs renseignées dans le tableau de janvier
    Range('D7:X62').Copy
    
    ' coller dans les tableaux de la page
      Range('D78:X133').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D149:X204').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D220:X275').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range('D291:X346').PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        
 ' se positionner en haut de la feuille
Range('A1').Select
End Sub
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Allez à la demande de sylvie (et oui je faillote)

Code:
Sub recopiecouleurcollecte()

' recopiecouleurcollecte Macro

' Macro enregistrée le 22/07/2005 par tmp_esu_07
  'recopie de la première semaine de janvier sur toutes les premières semaines de chaque
mois
dim ws as worksheet

    Sheets('Janv').Select
    Range('D7:X62').Copy

for each ws in worksheets
ws.select
 recopiecouleurmois
if ws.name<>'Janvier' then
    ws.Range('D7:X62').PasteSpecial Paste:=xlFormats
end if
next ws

 Sheets('Janv').Select

End Sub


Sub recopiecouleurmois()

' Copy des couleurs renseignées dans le tableau de janvier

    Range('D7:X62').Copy    ' coller dans les tableaux de la page

      Range(\\'D78:X133\\').PasteSpecial Paste:=xlFormats,
Operation:=xlNone, SkipBlanks:= _

        False, Transpose:=False

    Range(\\'D149:X204\\').PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _

        False, Transpose:=False

    Range(\\'D220:X275\\').PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _

        False, Transpose:=False

    Range(\\'D291:X346\\').PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _

        False, Transpose:=False      

 ' se positionner en haut de la feuille

Range('A1').Select

End Sub

Message édité par: Pascal76, à: 25/07/2005 20:14
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55