Menu

VBA Copier sans mise en forme conditionnelle [Résolu]

Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
- - Dernière réponse : Anthelm
Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
- 24 nov. 2018 à 20:20
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
Afficher la suite 

Votre réponse

3 réponses

Messages postés
477
Date d'inscription
mercredi 5 octobre 2016
Dernière intervention
24 novembre 2018
0
Merci
re
joint un fichier exemple pour pouvoir bosser dessus

pour joindre ton fichier
1) Tu vas dans http://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 http://www.commentcamarche.net/faq/29493-utiliser-cjoint

dans le même style tu as https://mon-partage.fr/
Anthelm
Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
-
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!
Commenter la réponse de fabien25000
Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
0
Merci
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!
Commenter la réponse de Anthelm
Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
0
Merci
C'est dingue, je ne trouve aucun moyen de copier la mise en forme sans la MFC... Il suffirait de ça....
Anthelm
Messages postés
96
Date d'inscription
lundi 15 octobre 2018
Dernière intervention
10 décembre 2018
-
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é :)
Commenter la réponse de Anthelm