MFC en fonction du contenu d'une plage de cellule

Bonjour le forum,

Je souhaiterais ne pas utilisé la MFC conditionnelle mais une MFC en VBA.

Dans cette MFC je voudrais qu'en fonction du contenu d'une plage de cellule sur la feuille 1, la cellule prendrait la couleur d'une autre cellule sur la feuille 2.

Un fichier est disponible en exemple

Merci

11testmfc.xlsx (10.26 Ko)

Bonjour,

Pas certain de voir l'intérêt de faire de cette manière, plutôt que par MFC

D'autre part, que fait-on avec le 'E' présent en Feuil1, mais pas en Feuil2 ?

À tout hasard, colle les lignes suivantes dans un module standard:

Sub mettreEnForme()
    With Sheets("Feuil1")
    For Each c In .Range("B4:B" & .Range("B100").End(xlUp).Row)
        lig = Application.Match(c.Value, [ListeFormats], 0)
        If IsError(lig) Then
            MsgBox "Valeur " & c.Value & " non-touvée", vbOKOnly, "Erreur"
            Exit Sub
        End If
        c.Interior.Color = [ListeFormats].Cells(lig, 1).Interior.Color
        c.Font.Color = [ListeFormats].Cells(lig, 1).Font.Color
        c.Font.Bold = [ListeFormats].Cells(lig, 1).Font.Bold
        c.Font.Italic = [ListeFormats].Cells(lig, 1).Font.Italic
    Next c
    End With
End Sub

Bonjour,

Pas certain de voir l'intérêt de faire de cette manière, plutôt que par MFC

D'autre part, que fait-on avec le 'E' présent en Feuil1, mais pas en Feuil2 ?

À tout hasard, colle les lignes suivantes dans un module standard:

Sub mettreEnForme()
    With Sheets("Feuil1")
    For Each c In .Range("B4:B" & .Range("B100").End(xlUp).Row)
        lig = Application.Match(c.Value, [ListeFormats], 0)
        If IsError(lig) Then
            MsgBox "Valeur " & c.Value & " non-touvée", vbOKOnly, "Erreur"
            Exit Sub
        End If
        c.Interior.Color = [ListeFormats].Cells(lig, 1).Interior.Color
        c.Font.Color = [ListeFormats].Cells(lig, 1).Font.Color
        c.Font.Bold = [ListeFormats].Cells(lig, 1).Font.Bold
        c.Font.Italic = [ListeFormats].Cells(lig, 1).Font.Italic
    Next c
    End With
End Sub

Re,

C'est qu'en fait j'ai une combobox sur une feuille qui va chercher sur une autre la valeur sauf que je n'arrive pas à faire en sorte qu'elle en plus de la valeur la couleur de la cellule. J'ai voulu faire une MFC classique mais le soucis est que j'ai des interférences avec certaines valeurs...

Re-bonjour,

C'est qu'en fait j'ai une combobox sur une feuille qui va chercher sur une autre la valeur

Il aurait sans doute mieux valu articuler ma proposition au code que tu as déjà ... si tu n'y arrives pas, joins ton classeur avec le code lié à la ComboBox

Re-bonjour,

C'est qu'en fait j'ai une combobox sur une feuille qui va chercher sur une autre la valeur

Il aurait sans doute mieux valu articuler ma proposition au code que tu as déjà ... si tu n'y arrives pas, joins ton classeur avec le code lié à la ComboBox

Re bonjour,

Ah mais désolé je n'ai pas relu se que j'ai écris

J'ai mis en pièce-jointe un classeur avec la ComboBox comme c'est installé sur le classeur d'origine

Merci

4testmfc.xlsm (21.54 Ko)

en pièce-jointe un classeur avec la ComboBox comme c'est installé sur le classeur d'origine

Euh ... tu peux expliquer le contexte, parce que j'ai un doute: il s'agit de recopier la valeur sélectionnée dans la ComboBox, dans une plage de cellules préalablement sélectionnées (pour autant que cette plage recouvre une partie au moins de la plage nommée "Poste") ? C'est tellement "particulier" que je voudrais être certain de bien comprendre

en pièce-jointe un classeur avec la ComboBox comme c'est installé sur le classeur d'origine

Euh ... tu peux expliquer le contexte, parce que j'ai un doute: il s'agit de recopier la valeur sélectionnée dans la ComboBox, dans une plage de cellules préalablement sélectionnées (pour autant que cette plage recouvre une partie au moins de la plage nommée "Poste") ? C'est tellement "particulier" que je voudrais être certain de bien comprendre

C'est tout à fait ça

C'est tout à fait ça

Ben oui, c'est gentil mais je demandais de contextualiser (parce qu'en fait, il suffirait de sélectionner une plage de cellule, d'y inscrire 'D' ou 'A', etc. et de valider avec Ctrl+Enter ... le tout avec une simple MFC ferait la même chose, non ?

C'est tout à fait ça

Ben oui, c'est gentil mais je demandais de contextualiser (parce qu'en fait, il suffirait de sélectionner une plage de cellule, d'y inscrire 'D' ou 'A', etc. et de valider avec Ctrl+Enter ... le tout avec une simple MFC ferait la même chose, non ?

Ahh d'accord....en fait de mettre la MFC en même temps que la recherche de la valeur. Actuellement, "C" ne prend que la valeur de la [Liste] et je voudrais qu'en même temps, "C" prenne la MFC de la [Liste] pour que la cellule destinataire est la valeur (ex: A) + la couleur de la cellule (ex:jaune) + le style d'écriture (ex: Gras) + la couleur du texte (ex: noir).

Non, ce que j'essaie de t'expliquer, c'est que tu peux appliquer des MFC à la plage "Poste" (si la valeur de la cellule ="A", fond jaune, gras ou italique ou tout ce que tu veux, même chose pour "B", "C", etc.)

Il n'y a plus qu'à inscrire ensuite les lettres dans ces cellules.

J'ai l'impression que tu montes "une usine à gaz" ... pour ouvrir une boîte de conserve

Non, ce que j'essaie de t'expliquer, c'est que tu peux appliquer des MFC à la plage "Poste" (si la valeur de la cellule ="A", fond jaune, gras ou italique ou tout ce que tu veux, même chose pour "B", "C", etc.)

Il n'y a plus qu'à inscrire ensuite les lettres dans ces cellules.

J'ai l'impression que tu montes "une usine à gaz" ... pour ouvrir une boîte de conserve

En fait tu voudrais faire la macro MFC indépendamment de la macro Combobox?

Là c'est un exemple mais en réalité j'ai 15 couleurs différentes dont 4 qui ont la police de couleur blanc et gras. J'en ai que deux que j'ai pu faire en MFC classique car aucune interférence avec le reste.

Je t'ai mis en pièce-jointe en réel ce que j'ai, c'est sur mon planning de travail.

4testmfc2.xlsm (22.27 Ko)

Bonjour,

En fait tu voudrais faire la macro MFC indépendamment de la macro Combobox?

Mais nooooon !!

Je dis que je ne vois pas d'intérêt à passer par une macro, que ce soit pour l'encodage, ou pour la MFC: on fait tout "à la mimine", sans se prendre la tête, à l'ancienne, à la bonne franquette, au plus simple, sans réinventer la roue. Tu disposes d'Excel 2007 et 2010, tu n'es donc plus limité à 3 MFC

En pièce jointe, sur ta plage Poste:

J'ai supprimé la ComboBox et le code (le fichier est un simple classeur .xlsx)

Bonjour,

En fait tu voudrais faire la macro MFC indépendamment de la macro Combobox?

Mais nooooon !!

Je dis que je ne vois pas d'intérêt à passer par une macro, que ce soit pour l'encodage, ou pour la MFC: on fait tout "à la mimine", sans se prendre la tête, à l'ancienne, à la bonne franquette, au plus simple, sans réinventer la roue. Tu disposes d'Excel 2007 et 2010, tu n'es donc plus limité à 3 MFC

En pièce jointe, sur ta plage Poste:

J'ai supprimé la ComboBox et le code (le fichier est un simple classeur .xlsx)

Bonjour,

ah d'accord je n'y étais pas du tout !

Après je veux passer par macro pour une exécution automatique. En validation de donnée, certes moins prise de tête mais je n'aime pas, je l'avais auparavant sur un planning.

C'est pour ça que je suis passer d'abord par des boutons avec la valeur et la MFC de la cellule mais pour harmoniser j'ai voulu passer par une ComboBox pour avoir la même chose sauf que pour côté MFC que je n'arrive pas à le mettre en place (VBA ou classique)

Certes c'est sans doute une usine à gaz comme c'est actuellement

Voici le code que j'avais quand je passais par un bouton pour chaque poste:

Sub bouton_matin()
Selection = "M"
Selection.Interior.Color = RGB(242, 8, 132)
Selection.Font.FontStyle = "Regular"
Selection.Font.Color = RGB(0, 0, 0)
End Sub

Après je veux passer par macro pour une exécution automatique. En validation de donnée, certes moins prise de tête mais je n'aime pas, je l'avais auparavant sur un planning.

As-tu testé le fichier que j'ai déposé ?

Qu'est-ce que tu voudrais faire "en automatique" qui n'est pas fait dans cette proposition ?

La seule chose prévue en plus dans ton code est d'inscrire une valeur dans toutes les cellules d'une sélection (mais j'ai proposé, dans un de mes messages, une technique équivalente: sélectionner une plage, entrer une valeur et valider avec Ctrl+Enter)

Après je veux passer par macro pour une exécution automatique. En validation de donnée, certes moins prise de tête mais je n'aime pas, je l'avais auparavant sur un planning.

As-tu testé le fichier que j'ai déposé ?

Qu'est-ce que tu voudrais faire "en automatique" qui n'est pas fait dans cette proposition ?

La seule chose prévue en plus dans ton code est d'inscrire une valeur dans toutes les cellules d'une sélection (mais j'ai proposé, dans un de mes messages, une technique équivalente: sélectionner une plage, entrer une valeur et valider avec Ctrl+Enter)

Oui je l'ai regardé, s'était pour te montrer le type de bouton que j'avais créé

Oui je sais mais c'est le coté Ctrl+Entrer qui me gênait. Aujourd'hui, avec la ComboBox, je peux soit en sélectionnant une ou plusieurs cellules dans mon tableau et mettre la valeur dedans. Si je relis ton message, c'est la même chose que j'ai mais sans rajouter les touches Ctrl+Enter et sans la MFC .

Bonjour thunder23, U. Milité, le forum,

Je me suis prêté à l'exercice, après quelques essais infructueux, voici une proposition (qui vaut ce qu'elle vaut !).

Je me range à l'avis d' U. Milité, bien plus simple et plus fiable via des MFC,

Le principe, on recherche les valeurs de feuille1:B4:B34 dans feuille2!B3:B20 et on fait un copié/coller du format,

Tu sélectionnes tes pointages et tu appuies sur le bouton MAJ.

11thunder23-v2.xlsm (24.85 Ko)

Cordialement,

Salut xorsankukai,

Je crois avoir compris que thunder23 tenait très fort à sa comboBox

Là-dessus, je m'en vais bouquiner ... j'ai un petit Fred Vargas dont je vais me délecter !

Bonsoir xorsankukai,

Ta macro m'intéresse, je vais m'en inspirer pour l'intégrer au fichier final

Merci beaucoup

Re U.Milité,

Oui je sais je peux parfois être un peu têtu, désolé si j'ai mis ta patience à rude épreuve

Merci en tout cas

Bonne soirée à tous

Bonsoir,

Oui je sais je peux parfois être un peu têtu

C'est effectivement un peu l'impression que ça donne ... mais tu as certainement une bonne raison de vouloir procéder de la sorte c'est juste que tu n'as pas su l'expliquer, sans doute.

Bonne continuation

Rechercher des sujets similaires à "mfc fonction contenu plage"