Microsoft 365 recopie avec mise en forme

charles.ehrhard

XLDnaute Nouveau
bonjour,
je ne sais pas si vous pouvez m'aider, mais moi je seche !

j'ai une matrice de 2 colonnes avec en colonne A le code et en colonne B la couleur de la cellule à appliquer
ma fonction recherchev va bien m'afficher le résultat de la colonne B en trouvant le txt dans A, mais jamais la couleur.
est ce qu'il est possible de recopier avec la mise en forme ?
ou alors un truc du genre si trouve xx dans A alors copie B avec la mise en forme ?
comme j'ai 150 codes et couleurs différentes et que les codes augmentent en nb, une mise en forme condi est juste trop longue.

merci d'avance
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Une formule ne peut rien renvoyer d'autre que la valeur de la cellule qui la porte.
Cependant une fonction personnalisée peut se débrouiller pour ranger une consigne dans une collection qui sera traitée en dehors des calculs via l'évènement Workbook_SheetCalculate.
Remarque: 150 couleurs ça fait beaucoup ! Êtes-vous sûr que vous arrivez à toutes les distinguer les unes des autres ?
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Exemple de fonction perso reproduisant la couleur :
Dans un module standard :
VB:
Function RechCoul(ByVal Arg, ByVal Rng As Range)
   Dim Cel As Range
   On Error Resume Next
   Set Cel = Rng(WorksheetFunction.Match(Arg, Rng.Columns(1), 0), 2)
   If Err Then
      RechCoul = CVErr(xlErrNA)
      ThisWorkbook.Consigne Application.Caller, &HBABABA
   Else
      RechCoul = Cel.Value
      ThisWorkbook.Consigne Application.Caller, Cel.Interior.Color
      End If
   End Function
Dans le module ThisWorkbook :
VB:
Private Cln As New Collection
Public Sub Consigne(ByVal Cel As Range, ByVal Coul As Long)
   Cln.Add Array(Cel, Coul)
   End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
   Dim T()
   Do While Cln.Count > 0
      T = Cln(1): Cln.Remove 1
      T(0).Interior.Color = T(1)
      Loop
   End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 002
Membres
105 592
dernier inscrit
MSteeven