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 :

Formule pour MFC ou code VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 343
    Par défaut Formule pour MFC ou code VBA
    Bonsoir,

    Je suis a la recherche d'une formule que si l'une des cellules "I19:I100" >0 la cellule correspondant dans la colonne "J" est égal a "OK"
    ex: si en "I22" >0 "J22" est égal à "OK"

    Je vous remercie de votre aide

    Cordialement

    max

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Citation Envoyé par maxval18 Voir le message
    Je suis a la recherche d'une formule que si l'une des cellules "I19:I100" >0 la cellule correspondant dans la colonne "J" est égal a "OK"
    ex: si en "I22" >0 "J22" est égal à "OK"
    La MFC ne peut pas renvoyer une valeur mais une mise en forme d'où son nom.
    Donc si tu souhaites que la cellule de la colonne J qui se trouve sur la même ligne que celle de la colonne I et ce entre les lignes 19 à 100 prenne un format spécifique si la valeur de la cellule I est supérieur à 0, voici la méthode.
    1) Sélectionner la plage $J$19:$J$100
    2) Aller dans la MFC et sélectionner la règle "Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué".
    3) Placer cette formule
    ensuite choisir le format.
    Si maintenant il s'agit d'avoir le texte OK
    1) Sélectionner la plage $J$19:$J$100
    2) Entrer la formule
    3) Valider par Ctrl+Enter
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 343
    Par défaut
    Bonjour Philippe Tulliez,

    Je reviens vers vous car j'ai un petit souci avec la formule qui fonctionne trés bien. Le problème est le suivant a chaque enregistrement par VBA donc le code est le suivant:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Enregistrer()
    '
    ' Enregistrer Macro
    '
     
    '
        Rows("19:19").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("K12:Q12").Select
        Selection.Copy
        Range("B19").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        With Selection
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
     
       Range("H20:I20").Select
       Selection.AutoFill Destination:=Range("H19:I20"), Type:=xlFillDefault
        Range("H19:I20").Select
        Range("K12:P12").Select
       Selection.ClearContents
       Range("K12").Select
    End Sub
    la ligne descend d'un rang et je n'ai donc plus ma formule a la ligne "19" c'était pour cela que je chercher une formule par Mise en Forme Conditionnelle mais vue les explications très claire que ma données il serai peut être plus simple par VBA.

    Je vous remercie d'avance.
    Bonne journée

    Max

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Plus simple par VBA, je n'en suis pas convaincu.
    Appliqué une mise en forme conditionnelle prend trois minutes, le faire en VBA prendra sûrement plus de temps.
    A mon avis, la question à se poser avant de développer en VBA est de savoir si cela se justifie soit parce-que on ne sais pas le faire avec Excel, soit c'est une opération qu'il faut faire régulièrement, soit c'est trop lent avec Excel.
    Pour ma part, alors que je développe régulièrement, je n'ai jamais dû le faire avec du VBA.
    Je ne sais pas ce que tu comptais faire avec le code VBA que tu affiches. Je vois que tu fais une copie de cellules que tu transposes et que tu copies ensuite vers d'autres.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 343
    Par défaut
    Bonjour Philippe

    Oui je copie des cellules que je transposes et que je copies ensuite vers d'autres cellules.
    Le problème que j'ai, chaque copie se fait sur la ligne "19", se qui veut dire que les lignes déjà copier descendent d'une ligne, et la formule elle aussi descend d'une ligne?

    A te lire

    @+
    Max

Discussions similaires

  1. [XL-MAC 2011] L'aide pour rajouter le code VBA
    Par Gogia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2011, 14h07
  2. [XL-2007] formule pour MFC dans un TCD
    Par zaza45 dans le forum Excel
    Réponses: 10
    Dernier message: 11/02/2011, 15h23
  3. [XL-2003] Aide pour complèter un code Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 29/09/2010, 15h34
  4. [Toutes versions] Besoin de conseils pour stockage de code VBA
    Par jeff1494 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/08/2009, 21h20
  5. Aide pour simplifier un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 24/01/2008, 16h15

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