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 :

commentaire de cellules


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
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut commentaire de cellules
    Bonjour,
    J'essaie de réaliser un code afin vérifier la présence ou non d'un commentaire dans une cellule. L'aide du forum m'a permis d'effectuer ce code mais je bute sur le test lorsqu'une cellule n'a pas de commentaire.
    Le code renvoi "#VALEUR". Je fais une erreur certes mais je ne la voie pas!!!
    Voici le code:

    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
    Function CopierAvecCommentaire(Source As Range)
        Application.Volatile
        AdrAppelFn = Parent.Caller.Address()
            Range(AdrAppelFn).ClearComments
            Range(AdrAppelFn).AddComment
            Range(AdrAppelFn).Comment.Text Text:=Source.Comment.Text
            Range(AdrAppelFn).Comment.Shape.Height = Source.Comment.Shape.Height
            Range(AdrAppelFn).Comment.Shape.Width = Source.Comment.Shape.Width
            Range(AdrAppelFn).Comment.Visible = Source.Comment.Visible
                If Range(AdrAppelFn).Comment Is Nothing Then
                    MsgBox "Il n'y a pas de commentaire dans la cellule "
                Else
                    CopierAvecCommentaire = Source.Value
                    MsgBox "Il y un commentaire: " & Source.Comment.Text & "  et le texte de la cellule est: " & Source.Value
                End If
    End Function
    Pouvez vous me venir en aide, merci

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour heliconet le forum un exemple simple tu sélectionne une cellule puis tu lances la macro a adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
    If ActiveCell.Comment Is Nothing Then MsgBox "pas de  commentaire" Else MsgBox "commentaire"
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut
    Citation Envoyé par laetitia Voir le message
    bonjour heliconet le forum un exemple simple tu sélectionne une cellule puis tu lances la macro a adapter
    Bonjour,
    Merci de cette réponse rapide.
    Pas compris correctement la réponse.

    Le code que j'ai initialisé fonctionne, mais je n'arrive pas à coder la condition pour une cellule qui n'a pas de commentaire. Par le test de condition " si commentaite est vide...."
    je souhaite copier le contenu de la cellule et donc ingnorer le commentaire qui y est lié.
    Cordialement

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut amie Leti, heliconet
    Si tu fais ce test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range(AdrAppelFn).Comment Is Nothing Then
    C'est que tu crains qu'il n'y est pas de commentaire
    Ce qui m'amène a la refléction suivante
    1/ il ne sera jamais "Nothing" etant donné que tu le cré un peu plus haut.
    2/ il serait sans doute judicieux de vérifier que Source a bien un commentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(AdrAppelFn).Comment.Text Text:=Source.Comment.Text
    Sinon cette ligne risque de poser problème.
    3/ Si le seule soucis est de savoir si le commentaire est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If range(...).comment.text = "" then ...
    En espérant avoir compris ce qui motive ta demande
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Par défaut
    Bonsoir,
    C'est que tu crains qu'il n'y est pas de commentaire
    Oui c'est une possibilité que la cellule source copiée ne dispose pas de commentaire

    il ne sera jamais "Nothing" etant donné que tu le créé un peu plus haut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(AdrAppelFn).Comment.Text Text:=Source.Comment.Text
    J'ai suposé que la fonction ne faisait que lire le commentaire
    il serait sans doute judicieux de vérifier que Source a bien un commentaire
    Oui, dans ce cas je souhaite copier la cellule source sans son commentaire.

    Si le seule soucis est de savoir si le commentaire est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if range(...).comment.text = "" then ...
    Pas exactement. J'ai effectivement essayé mais cela ne fonctionne pas. J'ai toujours en retour "#VALEUR" dans la cellule de destination.
    En espérant avoir compris ce qui motive ta demande
    Merci pour cette première analyse.
    Une autre peut être?
    Salut

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Je comprend pas trop ton probleme, il suffit de tester si un commentaire est présent sur Source?
    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
    Function CopierAvecCommentaire(Source As Range)
        Application.Volatile
        AdrAppelFn = Application.Caller.Address()
        Range(AdrAppelFn).ClearComments
        If not Source.Comment is Nothing then
            'Si la source contient un commentaire
            Range(AdrAppelFn).AddComment
            Range(AdrAppelFn).Comment.Text Text:=Source.Comment.Text
            Range(AdrAppelFn).Comment.Shape.Height = Source.Comment.Shape.Height
            Range(AdrAppelFn).Comment.Shape.Width = Source.Comment.Shape.Width
            Range(AdrAppelFn).Comment.Visible = Source.Comment.Visible
        End If
        'Dans tous les cas on copie le contenu
        Range(AdrAppelFn).value = Source.value
    End Function
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. probleme avec des commentaires de cellules
    Par teen6517 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2010, 13h36
  2. Ajouter un commentaire à une cellule verrouillée
    Par dpounch dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/01/2009, 13h41
  3. Gestion des commentaires dans cellule
    Par INeedHelp dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/04/2008, 21h35
  4. [OLE] Excel : Ajouter un commentaire à une cellule
    Par Vertyos dans le forum Delphi
    Réponses: 5
    Dernier message: 09/11/2006, 19h26
  5. [VBA-E] recuperer le texte d un commentaire de cellule excel
    Par Verbal-Quint dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/07/2004, 10h27

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