Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Rendre automatique une macro de mise en forme

  • Initiateur de la discussion Initiateur de la discussion Bud.boundy
  • 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 !

Bud.boundy

XLDnaute Occasionnel
Bonjour,

j'ai trouvé cette macro sur ce forum... Désormais j'aimerais automatiser la mise en forme des cellules de telle façon que si le résultat d'une cellule soit changée suite à une formule... Le format le soit aussi sans que j'ai à appuyer sur entrer à nouveau...

Merci
 

Pièces jointes

Re : Rendre automatique une macro de mise en forme

Bonjour,

Quelqu'un pourrait il jeter un oeil à mon pb... S'il vous plaît merci
Salut
Si personne ne répond, c'est que ton énoncé n'est pas assez compréhensible.
Je connaîs la macro de mDf. La mettre n'explique pas ce que tu veux faire.

Le but d'un fichier de test est d'expliquer par l'exemple ce que tu as et ce que tu veux obtenir en commentant la méthode qui te permet d'avoir ton résultat.
Marche bien la macro 😀 et alors ?

essaies cette modif de la macro mDf
Code:
'---------------------------------------------------------------------------------------
' Auteur    : Didier FOURGEOT (myDearFriend!)
' Date      : 18/09/2005
' Sujet     : MFC multiples
'---------------------------------------------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Cel As Range
Dim TabTemp As Variant
Dim L As Long
Dim V As Variant
Dim Plage_T As String
On Error Resume Next
Plage_T = Target.Dependents.Address(0, 0)
If Err.Number <> 0 Then
    If Err.Number = 1004 Then
        Plage_T = Target.Address(0, 0)
    Else
        GoTo Fin
    End If
Else
    Plage_T = Union(Target, Target.Dependents).Address(0, 0)
End If
On Error GoTo Fin
For Each Cel In Range(Plage_T)
    If Cel.FormatConditions.Count < 1 Then Exit Sub
    If Cel.FormatConditions(1).Formula1 = "=mDF" Then
        With Sheets("MFC")
            L = .Range("A65536").End(xlUp).Row
            TabTemp = .Range(.Cells(1, 1), .Cells(L, 1)).Value
            If Cel.Value = "" Then
                L = 1
            Else
                For L = 2 To UBound(TabTemp, 1)
                    If Cel.Value = TabTemp(L, 1) Then Exit For
                Next L
            End If
            On Error GoTo Fin
            Application.EnableEvents = False
            .Cells(L, 2).Copy
            V = Cel.Formula
            Cel.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
            Cel.Formula = V
            If Cel.FormatConditions.Count < 1 Then Cel.FormatConditions.Add Type:=xlExpression, Formula1:="=mDF"
            Application.CutCopyMode = False
            Application.EnableEvents = True
        End With
    End If
Next Cel
    Exit Sub
Fin:
    MsgBox "Erreur non gérée dans la procédure Workbook.SheetChange()" & vbLf & "Erreur : " & _
        Err & " " & Err.Description, vbOKOnly, "myDearFriend!"
    Application.EnableEvents = True
End Sub
Comme je suis un super feignant, j'ai juste ajouté une boucle avec la prise en compte de plusieurs cellules et leurs dépendants.
A+
A+
 
Dernière édition:
Re : Rendre automatique une macro de mise en forme

Merci Gorfael,

Désolé pour l'imprecision de mes explications... J'ai bien essayer votre macro mais maheureusement le message d'ereur suivant apparaît : Erreur1004 la methode rande de 'objet global a echoué

Afin d'être sûr que mon pb vous soit plus comprehensible je vous joint un nouveau fichier joint dans lequel vous comprendrez mieux quel est mon pb...

Merci encore
 

Pièces jointes

Re : Rendre automatique une macro de mise en forme

Re bj,

dans la plage du haut, je mets un chiffre de 1 à 20 et il se met en forme comme prévu feuille MDC.

les macros sont bien activées sur l'excel que tu as ?

OUTILS/ MACRO / SECURITE / MOYENNE ?
 
Re : Rendre automatique une macro de mise en forme

Désolé mais macro etait bien sur niveau moyen...
Avez vous bien remarqué que lorsque vous changez le chiffre dans la 2ème plage... la correspondance ne change pas de format dans la cellule correspondant a moins de faire "entrer" dans cette cellule

merci
 
Re : Rendre automatique une macro de mise en forme

Salut
je suis pas aller très loin : juste modifier le test de condition<1 =>sortie
tester 3 ou 4 cellules et ça fonctionne
A+
 

Pièces jointes

Re : Rendre automatique une macro de mise en forme

Rebonsoir,

Votre macro marche parfaitement... Malheureusement, en voulant l'intégrer dans un fichier nettement plus compliqué où de nombreuses cellules (A2:Z500) sont suscetibles d'être modifiées (suite à de nombreux calculs), la macro ne marche pas sauf si je fais enter dans quelques cellules... y a t il un moyen de trouver sune solution à ce nouveau pb...

Désolé et merci
 
Re : Rendre automatique une macro de mise en forme

Salut
P'vez répéter la question ? 😕
ça ne fonctionne pas, ou ça ne met pas à jour les cellules ayant été modifiées avant la mise à jour de la macro (ce qui est normal) ?

Si c'est le 2me cas, il suffit de copier la macro en changeant son nom
et de remplacer la définition de Plage_T par
Page_T=activesheet.UsedRange.Address(0, 0)
et de lancer la macro depuis la feuille concerné. Plus de 12000 cellules, tu peux aller boire un café 😀
A+
 
Re : Rendre automatique une macro de mise en forme

Merci beaucoup, ça marche bien... Malheureusement j'atteinds les limites de mon programme puisque mes calculs sont déjà très long à se faire alors imaginer avec cette macro supplémentaires... Je n'aurais pas assez d'un seul café... Injouable... je vais voir comment me debrouiller...
En tous les cas, merci beaucoup... Vous avez parfaitement repondu à mes attentes...
Désolé que je ne puisse sans doute pas l'utiliser...

Merci à vous et bonne continuation
 
- 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
4
Affichages
310
Réponses
5
Affichages
173
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…