IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Traduction mfc en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Septembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 7
    Par défaut Traduction mfc en vba
    Bonjour, pourriez vous me dire comment traduire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(OU(LC31="ROUTINE GATEWAY";LC31="CRITICAL");SOMMEPROD((L3C15:L27C15=LC15)*(L3C18:L27C18=L(-1)C18)*(L3C31:L27C31="ROUTINE GATEWAY")*L3C33:L27C33)>SOMMEPROD((L3C15:L27C15=LC15)*(L3C18:L27C18=LC18)*(L3C31:L27C31="CRITICAL")*L3C33:L27C33))
    en vba actuellement j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    nb = Application.WorksheetFunction.CountA(ActiveWorkbook.Sheets("Rate Sheet").Columns("A")) - 5
     For i = 5 To nb
     Range("AG" & i).Select
     Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=AND(OR(R5C[-2]=""ROUTINE GATEWAY"";R5C[-2]=""CRITICAL"");SUMPRODUCT((R5C[-18]:RiC[-18]=R5C[-18])*(R5C[-15]:RiC[-15]=R5C[-15])*(R5C[-2]:RiC[-2]=""ROUTINE GATEWAY"")*R5:Ri)>SOMMEPROD((R5C[-18]:RiC[-18]=R5C[-18])*(R5C[-15]:RiC[-15]=R5C[-15])*(R5C[-2]:RiC[-15]=""CRITICAL"")*R5:Ri))"
     Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
     With Selection.FormatConditions(1).Interior
     .PatternColorIndex = xlAutomatic
     .color = 3
     .TintAndShade = 0
     End With
    Mais la traduction de formule ne passe pas , pourriez vous me dire pourquoi ?
    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Laisse les termes de ta formule en français (ET, OU, ...)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Septembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 7
    Par défaut
    Oui c'est ce que j'ai fait mais merci de m'avoir répondu , cependant ici je n'ai qu'une case qui se met en noir j'aurai aimé que les 2 cases concernées par le rapport > puissent se mettre en noir si toutes les conditions sont respectées , merci de me proposer vos solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub mfccomplexe()
    nb = Application.WorksheetFunction.CountA(ActiveWorkbook.Sheets("Rate Sheet").Columns("A")) - 5
    For i = 5 To nb
        Range("AG" & i).Select
        Selection.FormatConditions.Add Type:=xlExpression, _
        Formula1:="=ET(OU($AE$" & i & "=""ROUTINE GATEWAY"";$AE$" & i & "=""CRITICAL"";$AD$" & i & "="""");SOMMEPROD(($O$" & i & ":$O$" & nb & "=$O" & i & ")*($R$" & i & ":$R$" & nb & "=$R" & i & ")*($AE$" & i & ":$AE$" & nb & "=""ROUTINE GATEWAY"")*$AG$" & i & ":$AG$" & nb & ")>SOMMEPROD(($O$" & i & ":$O$" & nb & "=$O" & i & ")*($R$" & i & ":$R$" & nb & "=$R" & i & ")*($AE$" & i & ":$AE$" & nb & "=""CRITICAL"")*$AG$" & i & ":$AG$" & nb & "))"
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Selection.FormatConditions(1).Interior
            .PatternColorIndex = xlAutomatic
            .color = 3
            .TintAndShade = 0
        End With
     
    Next i
    End Sub

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Après passage de cette ligne, que vaut nb ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nb = Application.WorksheetFunction.CountA(ActiveWorkbook.Sheets("Rate Sheet").Columns("A")) - 5
    PS: est-ce que tu supprimes les MFC avant d'en créer de nouvelles ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Septembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 7
    Par défaut
    Bonjour, oui excusez moi j'ai rajouté des instructions après cette ligne, nb vaut le nombre de ligne sans la partie entête qui prend 5 lignes , et concernant l'effacement des mfc je ne pense pas que ça soit neccessaire car on note le SetFirstPriority qui effacerai les mfc déjà présente si je ne me trompe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub mfccomplexe()
    Dim i As Integer, nb As Integer
    nb = Application.WorksheetFunction.CountA(ActiveWorkbook.Sheets("Rate Sheet").Columns("A")) - 5
    If nb = -1 Or nb = 0 Then
        nb = nb + 2
        End If
     
    For i = 5 To nb + 5
        Range("AG" & i).Select
        Selection.FormatConditions.Add Type:=xlExpression, _
        Formula1:="=ET(OU($AE$" & i & "=""ROUTINE GATEWAY"";$AE$" & i & "=""CRITICAL"";$AE$" & i & "=""AOG"");SOMMEPROD(($O$" & i & ":$O$" & nb & "=$O" & i & ")*($R$" & i & ":$R$" & nb & "=$R" & i & ")*($AE$" & i & ":$AE$" & nb & "=""ROUTINE GATEWAY"")*$AG$" & i & ":$AG$" & nb & ")>SOMMEPROD(($O$" & i & ":$O$" & nb & "=$O" & i & ")*($R$" & i & ":$R$" & nb & "=$R" & i & ")*($AE$" & i & ":$AE$" & nb & "=""CRITICAL"")*$AG$" & i & ":$AG$" & nb & ")>SOMMEPROD(($O$" & i & ":$O$" & nb & "=$O" & i & ")*($R$" & i & ":$R$" & nb & "=$R" & i & ")*($AE$" & i & ":$AE$" & nb & "=""AOG"")*$AG$" & i & ":$AG$" & nb & "))"
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Selection.FormatConditions(1).Interior
            .PatternColorIndex = xlAutomatic
            .color = 3
            .TintAndShade = 0
        End With
    Next i 
    End sub

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Les MFC s'accumulent et causent un ralentissement du programme à la longue.
    Vaut mieux les supprimer avant de les ajouter.

    Si tu vérifies les MFC de chaque cellule, tu devrais voir où il y a erreur, non ?

    Et si tu refaisais ta formule en enlevant les "$" ?

Discussions similaires

  1. [XL-2003] Tableau d'analyse - MFC en vba (macro)
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/09/2009, 09h52
  2. [XL-2003] MFC avec VBA
    Par marcuswillbe dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2009, 07h14
  3. [XL-2003] [FAQ] Traduction de code vba en c++
    Par Piernod dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2009, 15h55
  4. MFC en VBA
    Par Jonathan Raucy dans le forum Excel
    Réponses: 7
    Dernier message: 28/02/2008, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo