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 :

[VBA Excel] Commentaire


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
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 36
    Par défaut [VBA Excel] Commentaire
    Bonjour tout le monde!
    J'aimerai savoir s'il est possible de commander l'affichage d'un commentaire dans une cellule excel par une macro?
    En somme je souhaite avoir un commentaire en cellule A2 a condition que la cellule A1 soit rempli et cela jusqu'a ce que A2 soit remplis!
    Par avance merci beaucoup!!
    Salutations..

  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
    Regarde , je donne une solution
    Tu dis
    A+

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 36
    Par défaut
    Merci beaucoup mais j'ai un petit probléme !!

    voici mon 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
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Worksheets("Données").Cells(Target.Row, 7).Value <> "" Then
            With Worksheets("Données").Cells(Target.Row, 9).Comments
                .Text Text:=Cells(4, 1) & " -> " & Cells(4, 3)
                .Text Text:=Cells(5, 1) & " -> " & Cells(5, 3)
                .Text Text:=Cells(6, 1) & " -> " & Cells(6, 3)
                .Text Text:=Cells(7, 1) & " -> " & Cells(7, 3)
                .Text Text:=Cells(8, 1) & " -> " & Cells(8, 3)
                .Text Text:=Cells(9, 1) & " -> " & Cells(9, 3)
                .Visible = True
            End With
        End If
    End Sub
    En faite je souhaite écrire sur plusieurs lignes

    merci de ton votre aide!!

  4. #4
    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
    Pour le comment, essaie en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... text:="Première Ligne" & vbcrlf & "nouvelle ligne"
    A+

    Ce n'est pas vbcrlf mais vblf

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 36
    Par défaut
    c'est relativement génant dans le sens ou je souhaite supprimer le commentaire lorsque l'utilisateur à écrit quelquechose dans la cellule ou est situé le commentaire.
    Mon code actuel 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
        If Worksheets("Données").Cells(Target.Row, 7).Value <> "" Then
            If Worksheets("Données").Cells(Target.Row, 9) <> "" Then
                Else
                With Worksheets("Données").Cells(Target.Row, 9).AddComment
                    .Text Text:=Cells(4, 1) & " -> " & Cells(4, 3) & vbLf & Cells(5, 1) & " -> " & Cells(5, 3) _
                        & vbLf & Cells(6, 1) & " -> " & Cells(6, 3) & vbLf & Cells(7, 1) & " -> " & Cells(7, 3) _
                        & vbLf & Cells(8, 1) & " -> " & Cells(8, 3) & vbLf & Cells(9, 1) & " -> " & Cells(9, 3) _
                        & vbLf & Cells(10, 1) & " -> " & Cells(10, 3)
                    .Visible = True
                End With
            End If
        End If
    Comment je peux contourné ceci ?!!?

  6. #6
    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
    J'ai regardé mais il y a un pb. Apparemment, la gestion d'erreur ne fonctionne pas dans Worksheet_change() à moins qu'elle ne s'applique pas pour les commentaires. J'explique.
    Si Comment n'existe pas et que l'on supprime ce qu'il y a dans A1 et A2, et donc qu'on tente de supprimer le commentaire, cela provoque une erreur non gérée par On error ...

    Je n'ai pas la réponse à ta dernière question et d'ailleurs, à cause de ça mon code ne vaut rien. L'ai l'effacé

  7. #7
    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
    Une idée, j'ai vu que tu mettais Visible = True
    Les commentaires peuvent être visibles ou non, la cellule posséder un indicateur de commentaire ou non.
    Place tes commentaires à l'ouverture de ta feuille dans un module standard, mets sur la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Application.DisplayCommentIndicator = xlCommentAndIndicator
    et rends-les insibles quand les conditions sont remplies (dans Worksheet_Change)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Application.DisplayCommentIndicator = xlNoIndicator
    Ainsi, pas de bug et commentaires existant mais non visibles
    Rien ne t'empêche de tout effacer à l'enregistrement de ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each LeBlaBla In ActiveSheet.Comments
         LeBlaBla.Delete
    Next
    A+

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 36
    Par défaut
    Ok c'est cool !!
    Ca fonctionne mais je souhaite maintenant que ca s'affiche uniquement a la ligne sur laquelle je travaille et non a toute la feuille.
    Encore merci de ton aide !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/02/2013, 21h25
  2. Réponses: 5
    Dernier message: 02/01/2007, 15h19
  3. [VBA-Excel]
    Par Damsou dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/01/2005, 10h17
  4. [VBA EXCEL] Réduire/Agrandir UserForms
    Par Fench dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2003, 16h02
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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