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 :

Macro Commentaire + association avec une Condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut Macro Commentaire + association avec une Condition
    Bonjour,

    J'ai ajouté cette macro à une colonne pour que les cellules ayant un commentaire. Du coup, toutes les cellules en ont un. Néanmoins, je voudrais restreindre l'ajout de commentaire uniquement aux cellules ayant une mise en forme remplissage en orange.
    Là, je sèche! merci pour vos conseils...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Commentaire()
    Dim vCellule As Object
    For Each vCellule In Selection
        vCellule.AddComment
        'If vCellule 'Rajouter ConditionSi la cellule est en orange
        vCellule.Comment.Text "Ajoutez une précision."
    Next
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Commentaire()
    Dim vCellule As Range, plage As Range
    Set plage = Range("A1:F566") ' à adapter 
    For Each vCellule In plage  'plage mieux que selection (pas besoin de sélectionner)
        If vCellule.Interior.ColorIndex = 46 Then
            vCellule.ClearComments
            vCellule.AddComment
            vCellule.Comment.Text "Ajoutez une précision."
        End If
    Next v cellule
    Set plage=nothing
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut
    Bonjour,

    Ca ne marche pas : les commentaires ne s'ajoutent.

    la couleur peut-être, vous indiquez 46 ; j'ai essayé en créant la pallette des couleurs, ce qui me donne 44, en regardant l'orange un peu jaunâtre que j'avais attribué.
    Ou est-ce un autre problème ??

    Est-il possible de traduire la mise en forme conditionnelle que j'avais effectuée par le menu format, en vba et l'incorporer dans la macro :

    "Si la colonne H ne contient pas de texte, alors la colonne D devient orange".
    (sachant que la colonne H contient en fait un lien hypertexte auquel j'ai attribué un nom).

    Merci!

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Néanmoins, je voudrais restreindre l'ajout de commentaire uniquement aux cellules ayant une mise en forme remplissage en orange.
    Est-il possible de traduire la mise en forme conditionnelle que j'avais effectuée par le menu format, en vba et l'incorporer dans la macro
    2 situations différentes.
    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
    Sub Commentaire()
    Dim vCellule As Range, plage As Range
    Set plage = Range("H1:H100") ' à adapter
    For Each vCellule In plage  'plage mieux que selection (pas besoin de sélectionner)
        With vCellule
            If .Value = "" Then
                With .Offset(0, -4)
                    .Interior.ColorIndex = 46
                    If .Comment Is Nothing Then
                       .AddComment
                       .Comment.Text "Ajoutez une précision."
                    End If
                End With
            End If
        End With
    Next vCellule
    Set plage = Nothing
    End Sub

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut
    Bonjour,

    C'est mieux. J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set plage = Range("H33:H1000") ' car mon tableau commence à la ligne 33.
    Néanmoins, la mise en forme s'applique dès la cellule

    Je change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each vCellule In plage  'plage mieux que selection (pas besoin de sélectionner)
    en :
    (incorrect) ; idem pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vCellule = Range ("H33:H1000")
    (incorrect aussi) --> Que doit-on changer dans cette For Each... Next ?
    Merci!

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Néanmoins, la mise en forme s'applique dès la cellule
    J'ai rien compris, si tu peux expliciter

    le code précédent réponds as ceci
    "Si une cellule de la colonne H ne contient pas de texte, alors la cellule de la colonne D sur la même ligne devient orange avec un commentaire".

Discussions similaires

  1. [WD-2010] Création d'une macro avec une condition
    Par jijidu67 dans le forum VBA Word
    Réponses: 8
    Dernier message: 05/12/2011, 15h41
  2. Probleme avec une condition dans une macro
    Par majudis dans le forum IHM
    Réponses: 1
    Dernier message: 08/10/2010, 16h29
  3. Réponses: 3
    Dernier message: 24/10/2005, 13h47
  4. Problème de requête avec une condition IN
    Par sorcer1 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/10/2005, 11h56
  5. envoyer submit avec une condition !
    Par delphinote dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/07/2005, 15h52

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