Microsoft 365 Conserver le format suite suppression MFC

  • Initiateur de la discussion Initiateur de la discussion AIr-V
  • 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 !

AIr-V

XLDnaute Junior
Bonjour,

Etant débutant sur VBA, je reste bloqué sur le format de mes cellules qui disparait, je m'explique :

Suite à une MFC appliquée sur les cellules de ma feuille A en fonction des données de ma feuille B (cellules se remplissent en couleur dans la feuille A), je souhaite supprimer la feuille B mais je perds ma MFC et donc le remplissage de mes cellules (logique).
Aussi, existe-t-il un moyen sur Excel de pouvoir conserver cette MFC malgré la suppression de l'une des feuilles?
Ou peut-être passer par une reconnaissance des cellules mises sous couleur via la MFC puis de les remplir automatiquement via une autre couleur?

Je tourne un peu en rond à ce niveau. Merci par avance.
 
Re @AIr-V ,

Je ne suis pas certain de votre MFC.

En français (et non en langage Excel) que voulez faire avec votre MFC ?
  1. Colorer la ligne de A si au moins une des 4 cellules de la ligne de A est différente de la même ligne de B ?
  2. Ou bien colorer la ligne de A si seulement les deux colonnes A (celle de l’onglet A et celle de l'onglet B) sont différentes sans s'occuper des autre colonnes ?

A priori, la MFC de votre fichier suit la seconde option. Voir fichier joint ligne 3.
 

Pièces jointes

Re @AIr-V ,

Que la MFC soit correcte ou non, ça n'empêche pas de répondre à votre question initiale:

Voir le code suivant qui affecte à chaque cellule concernées par la MFC sa couleur de fond "en dur" issue de la MFC (la MFC est ensuite supprimée):
VB:
Sub compare()
Dim xcell As Range, CouleurMFC, rep

With Sheets("A").Range("a1").CurrentRegion   'avec la zone en cours de la cellule a1
   .FormatConditions.Delete
   .FormatConditions.Add Type:=xlExpression, Formula1:="=A1<>B!A1"
    With .FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 10198015
        .TintAndShade = 0
    End With
    ' Pour chaque cellule de la plage de la feuille A
    For Each xcell In .Cells
      If xcell.Row > 1 Then
         'on ne touche qu'aux lignes de numéro >=2
         ' on recherche la couleur de fond du à la MFC
         CouleurMFC = xcell.DisplayFormat.Interior.Color
         ' on applique cette couleur "en dur" à la cellule
         xcell.Interior.Color = CouleurMFC
      End If
   Next xcell
   ' On enlève la MFC de la feuille A
   .FormatConditions.Delete
   rep = MsgBox("Fin du coloriage en dur d'après la MFC" & vbLf & _
      "La MFC de la feuille A a été supprimée" & vbLf & vbLf & _
      "Supprimer la Feuille B et renommer A en B ?", vbQuestion + vbYesNo + vbDefaultButton2)
   If rep <> vbYes Then Exit Sub    'on arrête si l'utilisateur le veut
   ' Renommage des onglets'
   Application.DisplayAlerts = False
   Sheets("B").Delete
   Application.DisplayAlerts = True
   Sheets("A").Name = "B"
End With
End Sub
 

Pièces jointes

Dernière édition:
En fait idéalement j'aimerais uniquement colorer la cellule de la feuille A qui n'est pas égale à la cellule de la feuille B.

Exemple :
si cellule A9 feuille A = cellule A9 feuille B -> pas de remplissage couleur
si cellule A9 feuille A différente de cellule A9 feuille B -> remplissage couleur rouge de la cellule A9

si cellule C60 feuille A = cellule C60 feuille B -> pas de remplissage couleur
si cellule C60 feuille A différente de cellule C60 feuille B -> remplissage couleur rouge de la cellule C60

Sauf qu'après je souhaite supprimer la feuille B et là patatrac, je perds le remplissage des cellules dans ma feuille A

Désolé si je n'étais pas assez précis dans le descriptif.
 
Salut mapomme,

Je pensais t'avoir répondu depuis, tout fonctionne parfaitement bien. J'ai réussi à m'aider de ton fichier et à intégrer les bouts de code dans mon programme pour le rendre opérationnel.

Top en tout cas, mille mercis pour ton aide si précieuse, passe une très belle journée. 🙂
 
- 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

Réponses
34
Affichages
2 K
Retour