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 :

Positionner les commentaires sur feuille excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Par défaut Positionner les commentaires sur feuille excel
    Bonjour,
    Je débute en vba et je coince.
    Voilà ce que je veux faire. Je clique sur une cellule qui contient le nom d'une photo jpg. La photo s'affiche dans un commentaire. J'ai trouvé une macro qui crée en fait le commentaire à chaque fois et met la photo dans le commentaire. Jusqu'ici donc pas de soucis. ça fonctionne. Mais mon problème est le suivant. Comment faire pour que le commentaire s'affiche toujours dans la zone écran quelque soit la position de la cellule pointé. Je m'explique. Si je clique sur une cellule en haut de l'écran, le commentaire s'affiche à droite de la cellule et ma photo est complète. Par contre, si je clique sur une cellule du bas de l'écran, une partie du commentaire est caché. Y a t-il un moyen de dire au commentaire de s'afficher plus haut par rapport a la cellule?

    Voici la macro pour afficher le commentaire
    sur la feuille excel j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Call Ajouter_Supprimer_Commentaire_Image_Section(Target)
    End Sub
    et dans un module j'ai

    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
    Sub Ajouter_Supprimer_Commentaire_Image_Section(ByVal Target As Range)
        Dim Num_Ligne As Integer
        Dim Chemin_Image As String
     
        Num_Ligne = Range(Range("A6").End(xlDown).Address).Row
        [C:C].ClearComments
        If Intersect(Target, Range("C6:C" & CStr(Num_Ligne))) Is Nothing Then Exit Sub
        If Target.Cells.Count <> 1 Then Exit Sub
        Chemin_Image = ActiveWorkbook.Path & Chemin_Image_Section & Trim(Range(Target.Address).Offset(0, 1).Value) & "\"
        On Error Resume Next
        Target.AddComment
        Target.Comment.Visible = True
        Target.Comment.Shape.Select True
        Target.Comment.Shape.Height = 353.25
        Target.Comment.Shape.Width = 610.5
        Selection.ShapeRange.LockAspectRatio = msoFalse
        Selection.ShapeRange.Fill.UserPicture (Chemin_Image & Target.Value)
        Target.Comment.Visible = False
        On Error GoTo 0
    End Sub
    Avez vous une solution?
    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Aligne ton commentaire sur une cellule, toujours la même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Range("H3").AddComment
        Range("H3").Comment.Shape.Top = Range("I3").Top
        Range("H3").Comment.Shape.Left = Range("I3").Left

  3. #3
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    Bonjour à tous,
    un petit plus sur les commentaires, on peux vérifier s'il n'y en a pas déjà un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CommentaireExiste()
    If Not Feuil1.Range("A1").Comment Is Nothing Then MsgBox "il y a un commentaire" 
    End Sub
    Cordialement

  4. #4
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Par défaut Merci
    Merci de votre aide,
    Le problème est qu'un commentaire qui s'affiche et s'enlève automatiquement lorsque la souris survole la cellule n'est pas positionnable. Il a une position par défaut non modifiable. (Je me trompe peut être mais jusqu'à preuve du contraire ....). Pour pouvoir positionner le commentaire ou l'on veut, il faut que celui ci reste affiché.
    Donc voici ce que j'ai fait

    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
    Sub Ajouter_Supprimer_Commentaire_Image_Section(ByVal Target As Range)
     
        Dim Num_Ligne As Integer
        Dim Chemin_Image As String
     
        Num_Ligne = Range(Range("A6").End(xlDown).Address).Row
        [C:C].ClearComments
        If Intersect(Target, Range("C6:C" & CStr(Num_Ligne))) Is Nothing Then Exit Sub
        If Target.Cells.Count <> 1 Then Exit Sub
        Chemin_Image = ActiveWorkbook.Path & Chemin_Image_Section & Trim(Range(Target.Address).Offset(0, 1).Value) & "\"
        On Error Resume Next
        Target.AddComment
        Target.Comment.Shape.Top = Target.Offset(1, 0).Top - (Target.Offset(1, 0).Top - Target.Top) / 2
        Target.Comment.Visible = True
        Target.Comment.Shape.Select True
        Target.Comment.Shape.Height = 353.25
        Target.Comment.Shape.Width = 610.5
        Selection.ShapeRange.LockAspectRatio = msoFalse
        Selection.ShapeRange.Fill.UserPicture (Chemin_Image & Target.Value)
        Target.Select
        On Error GoTo 0
    End Sub
    Le commentaire est crée dans les colonnes C, positionné et s'efface quand je clique sur une autre cellule. Avec la commande Target.Comment.Shape.Top, on positionne le commentaire à la hauteur que l'on veut.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Quand on crée un commentaire, je crois savoir qu'il est toujours visible, sauf à modifier sa propriété.
    Enfin tu n'es pas obligé de le sélectionner pour le positionner.

    Si ton pb est résolu, un petit clic sur serait le bienvenu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Autoriser les commentaires sur une feuille protégée
    Par Phanloga dans le forum Excel
    Réponses: 2
    Dernier message: 06/06/2013, 12h47
  2. Réponses: 9
    Dernier message: 30/08/2006, 23h13
  3. Commandbutton sur feuille Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 24/11/2005, 16h17
  4. [ExcelML] Style sur feuille excel
    Par htristra dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/11/2005, 16h31
  5. Trouver doublons sur feuille excel
    Par taku dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2005, 11h14

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