Copier une cellule traitée avec une MFC.

L

Looping

Guest
Bonjour à tous,

Quelqu’un aurait-il une méthode pour faire une sorte de 'copier/coller' :ermm: d’une cellule qui a été coloriée avec une mise en forme conditionnelle ?
Je m’explique, je voudrais que la cellule A1 coloriée avec la mise en forme conditionnelle, soit collée, avec sa couleur, sur une autre feuille, sans qu’il y aie de liaison (sans formule !) avec la cellule(=A1) initialement traitée avec la mise en forme conditionnelle.

Merci d’avance pour votre aide :lol: .
 

soft

XLDnaute Occasionnel
Bonjour Looping, André, le forum,

Comme le dis André, le format conditionnel ne peut pas être récupéré sans les conditions par un copier/coller.

Il est toutefois possible si des conditions ne sont pas trop complexes de les vérifier par macros et d'appliquer le bon format.

Voici un petit code à titre d'exemple :

Sub Test()
Code:
    Dim CelDest As String, CelSource As String
    CelDest = 'F11'
    CelSource = 'A1'
    Range(CelDest) = Range(CelSource)
    Range(CelDest).Interior.ColorIndex = Range(CelSource).Interior.ColorIndex
    Range(CelDest).Font.Underline = Range(CelSource).Font.Underline
    Range(CelDest).Font.ColorIndex = Range(CelSource).Font.ColorIndex
    Range(CelDest).Font.Bold = Range(CelSource).Font.Bold
    Range(CelDest).Font.Italic = Range(CelSource).Font.Italic
    ReprendreFormat CelSource, CelDest
End Sub

Code:
Sub ReprendreFormat(CelSource As String, CelDest As String)
    Dim Cellule As Range, Condition As Single
    Set Cellule = Range(CelSource)
    For Condition = 1 To Range(CelSource).FormatConditions.Count
        If Cellule.FormatConditions(Condition).Operator = xlBetween Then
            If Cellule.Value >= CCur(Cellule.FormatConditions(Condition).Formula1) And _
            Cellule.Value <= CCur(Cellule.FormatConditions(Condition).Formula2) Then
                Range(CelDest).Interior.ColorIndex = Cellule.FormatConditions(Condition).Interior.ColorIndex
                Range(CelDest).Font.Underline = Cellule.FormatConditions(Condition).Font.Underline
                Range(CelDest).Font.ColorIndex = Cellule.FormatConditions(Condition).Font.ColorIndex
                Range(CelDest).Font.Bold = Cellule.FormatConditions(Condition).Font.Bold
                Range(CelDest).Font.Italic = Cellule.FormatConditions(Condition).Font.Italic
            End If
        ElseIf Cellule.FormatConditions(Condition).Operator = xlEqual Then
            If CStr(Cellule.Value) = CStr(Cellule.FormatConditions(Condition).Formula1) Then
                Range(CelDest).Interior.ColorIndex = Cellule.FormatConditions(Condition).Interior.ColorIndex
                Range(CelDest).Font.Underline = Cellule.FormatConditions(Condition).Font.Underline
                Range(CelDest).Font.ColorIndex = Cellule.FormatConditions(Condition).Font.ColorIndex
                Range(CelDest).Font.Bold = Cellule.FormatConditions(Condition).Font.Bold
                Range(CelDest).Font.Italic = Cellule.FormatConditions(Condition).Font.Italic
            End If
        End If
    Next Condition
End Sub

Edition :
Lees points virgules se sont rajoutés dans la 2e macros, il faut les supprimer...

Message édité par: soft, à: 13/11/2005 11:03
 

Hervé

XLDnaute Barbatruc
Bonjour looping, andré, soft

Une autre tentative en pièce jointe, avec une petite restriction quant aux références de cellules dans les MEFC.

salut
[file name=looping.zip size=9698]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/looping.zip[/file]
 

Pièces jointes

  • looping.zip
    9.5 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 940
Membres
103 989
dernier inscrit
jralonso