Macro avec copie de la mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion sr94
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sr94

XLDnaute Occasionnel
Bonjour

J'ai créé (avec votre grande aide) la macro suivante pour générer plusieurs fichiers à partir d'un fichier source :

Code:
Sub CreeClasseurs()
  Application.DisplayAlerts = False
  [A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[g1], Unique:=True
  For Each c In Range("G2", Range("G65000").End(xlUp))
    Range("G2") = c
    Sheets.Add
    Sheets("BD2").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _
       CriteriaRange:=Sheets("BD2").[G1:G2], CopyToRange:=[A1], Unique:=False
    ActiveSheet.Copy
    nf=Replace(c,"/","_")         ' remplace / par _
    ActiveSheet.Name = nf      '
    ActiveWorkbook.SaveAs Filename:=nf  '
    ActiveWorkbook.Close
    ActiveSheet.Delete
    Sheets("BD2").Select
  Next c
End Sub

Actuellement seule la mise en forme est récupérée dans les fichiers générés et j'ai besoin de récupérer aussi la mise en forme conditionnelle du fichier source. Est ce possible en modifiant ce code ?

Sinon peut-on la rajouter dans la macro ? Il faudrait que les cellules soient rouges avec police blanche, les conditions correspondent à

Code:
=SI($O5<>"";$X5>=$O5;$X5>=$M5)

Merci beaucoup !
 
Re : Macro avec copie de la mise en forme conditionnelle

J'ai réussi à créer la mise en forme conditionnelle avec le code trouvé ci-dessous, mais j'ai un soucis, c'est que les conditions sont telles quelles ="SI($O1<>"""";$X1>=$O1;$X1>=$M1" donc ça ne marche pas à cause des "", que doit je modifier ? Merci beaucoup

Code:
Range("$X:$X").Select

        Selection.FormatConditions.Delete
        
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="SI($O1<>"""";$X1>=$O1;$X1>=$M1"
Selection.FormatConditions(1).Interior.ColorIndex = 3
Selection.FormatConditions(1).Font.ColorIndex = 1
Range("F1006").End(xlUp).Offset(1, 0).Select
 
Re : Macro avec copie de la mise en forme conditionnelle

Petite précision : les données sont des dates. Je joins le fichier

La mise en forme conditionnelle créée est

Code:
="SI($O1<>"""";$X1>=$O1;$X1>=$M1"

Pour que ça marche il faudrait qu'elle soit sans les guillemets. Evidemment si je les enlève du code, j'ai un message d'erreur.

Code:
=SI($O1<>"""";$X1>=$O1;$X1>=$M1
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour