VBA Copier sans mise en forme conditionnelle

Résolu
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -  
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai enregistré la macro suivante:

ActiveSheet.Unprotect
Range("W2:AK502").Select
Selection.ClearContents
Range("D2:R502").AdvancedFilter Action:= _
xlFilterCopy, CopyToRange:=Range("W2:AK502"), Unique:=True
Range("W2:AK502").Select
ActiveWorkbook.Worksheets("Tableau").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tableau").Sort.SortFields.Add Key:=Range("Y2:Y502" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Tableau").Sort.SortFields.Add Key:=Range("W2:W502" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Tableau").Sort.SortFields.Add Key:=Range("X2:X502" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tableau").Sort
.SetRange Range("W2:AK502")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D2:R502").Select
Selection.Copy
Range("W2").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.ScrollColumn = 14
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("S11").Select
ActiveWorkbook.Save
End Sub


Elle permet donc grace au filtre avancé de copier un tableau sans ses doublons et de faire un tri.
Par contre, cela apparait en blanc car la mise en page du tableau n'est pas copiée.
Donc, la macro fait aussi une copie de la mise en forme du 1er tableau vers le second.

Par contre je copie aussi la mise en forme conditionnelle et ça pose problème! Pourriez vous m'aider à modifier la macro svp?

Merci beaucoup!

Configuration: Windows / Firefox 63.0
A voir également:

3 réponses

fabien25000 Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   59
 
re
joint un fichier exemple pour pouvoir bosser dessus

pour joindre ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

dans le même style tu as https://mon-partage.fr/
0
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   1
 
https://www.cjoint.com/c/HKyopaeENRL

Il s'agit de la macro "Actualiser"

(Attention elle sauvegarde et verrouille la feuille)

J'aimerais qu'elle copie la mise en forme comme elle le fait, mais pas la mise en force conditionnelle

Merci beaucoup!
0
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   1
 
Il y a une chose qui serait peut être possible,

Sur la feuille il y a 3 mises en formes conditionnelles possibles: deux pour le premier tableau et une pour le deuxième tableau.

C'est possible de les gérer en VBA directement sur la feuille? comme ça, la copie de cellule ne changerait rien!
0
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est dingue, je ne trouve aucun moyen de copier la mise en forme sans la MFC... Il suffirait de ça....
0
Anthelm Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   1
 
Ok j'ai trouvé la solution bêtement en créant un 3eme tableau dans une feuille masquée.

1er tableau copie ses valeurs sans doublons vers le 2eme tableau.
3eme tableau copie sa mise en forme (et mise en forme conditionnelle) vers le 2eme tableau, sans les valeurs.

Et le tour est joué :)
0