Afficher commentaires dans texbox vba

Résolu
Fragnette Messages postés 22 Statut Membre -  
 Utilisateur anonyme -
Bonjour à tous
Je voudrais afficher tous les commentaires d'une plage dans un texbox avec retour à la ligne .
Je suis arrivée au bout de mes limites
je vous joins en dessous un fichier exemple.

gros merci
BON NOEL

https://www.cjoint.com/c/FLypbMGkSny

4 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Comme ceci ?

    https://www.cjoint.com/c/FLyqVxmVyVl

    Comme tes commentaires se terminent par un saut de ligne tu peux supprimer
    & vblf

    Toujours zen
    La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.  Antoine de Saint-Exupéry
    1
    1. Utilisateur anonyme
       
       
      Bonjour gbinforme, bonjour le forum,

      Je pense que s'il est possible de l'éviter, c'est vraiment préférable d'écrire un
      code VBA sans utiliser d'instruction de gestion d'erreur telle que On Error

      Voici donc mon code VBA, sans utilisation de On Error Resume Next :

      
      Option Explicit
      
      
      Private Sub CommandButton1_Click()
        Dim chn As String, com As String, col As Byte
        For col = 3 To 15
          With Cells(8, col)
            If Not .Comment Is Nothing Then
              com = .Comment.Text
              If com <> "" Then chn = chn & com & vbLf
            End If
          End With
        Next col
        TextBox1 = chn
      End Sub
      
      

      Cordialement, albkan
       
      0
  2. Fragnette Messages postés 22 Statut Membre
     
    YES!!!!!!!!
    Bravo

    merci et merci
    joyeux noel
    0
  3. Fragnette Messages postés 22 Statut Membre
     
    Bonjour Albkan
    Je vais bien essayer ta solution même si celle de gbinforme me convient parfaitement.
    Je te tiens informé.
    Dans tous les cas merci de ton aide précieuse et je suis vraiment désolée de la notation négative qui a mon avis n'a pas lieu d’être.
    Le forum est fait pour l’entraide et le partage .Toutes les propositions qui fonctionnent ou qui orientent vers les solutions sont les bienvenues et elles serviront à quelqu'un d'autre un jour.

    Merci et bravo
    Bonne année
    0
    1. Utilisateur anonyme
       
       
      Bonjour Fragnette,

      Bonne année à toi aussi, et merci pour ton soutien.
      Je t'indique ci-dessous 2 améliorations possibles.

      --------------------------------------------

      Quand tu cliques sur ton bouton de commande « Bouton 5 »,
      tu sais que ça ouvre alors ton formulaire « UserForm1 ».

      La grande case est vide, et il faut cliquer sur le bouton OK
      pour afficher le texte des commentaires.

      Mais c'est possible d'éviter à l'utilisateur de devoir cliquer
      sur le bouton OK : il lui suffira de cliquer sur « Bouton 5 »
      pour que ça affiche « UserForm1 » avec le texte des
      commentaires aussitôt affiché.

      Est-ce que ça t'intéresse, ou c'était voulu de ta part que
      l'utilisateur doive forcément cliquer sur « OK » ?

      --------------------------------------------

      Autre amélioration possible : mettre devant le texte
      de chaque commentaire affiché la cellule à laquelle
      il correspond ; ainsi, ça donnera :

      C8 : yes
      F8 : bonjour
      I8  : bonsoir
      O8 : bon Noël
      à toi
      Fragnette !

      car en O8 : commentaire sur 3 lignes.

      Bien sûr, c'est juste une proposition comme ça,
      au cas où ça t'intéresse.

      --------------------------------------------

      Amitiés, albkan.  :)
       
      0
  4. Utilisateur anonyme
     
    Bonjour Fragnette,

    Je propose une solution beaucoup plus simple, sans utilisation
    de l'instruction On Error Resume Next : Fichier Excel 2007.

    J'ai enlevé les retours à la ligne inutiles de tes commentaires,
    d'où le vbLf.

    Cordialement.  :)

    PS : Bonjour à gbinforme en passant.  ;)
    -2
    1. Utilisateur anonyme
       
       
      Tiens, un -1 ; comme c'est bizarre d'être noté en négatif alors que je sais
      que mon code VBA marche parfaitement bien : je l'ai bien testé avant de
      le proposer ! Et je peux garantir le bon résultat, même sans utilisation
      de On Error Resume Next !  ;)  Bien sûr, pour ne pas changer, ceux qui
      notent en négatif n'indiquent ni la raison, ni aucun argument. Comme
      c'est courageux de leur part !  ;)  Merci pour ce joli cadeau de Noël.  :)

      Et ne venez pas me dire que c'est parce que j'ai posté mon message
      après que le sujet soit résolu : si je pense que ma solution peut être
      utile à Fragnette ou à un quelqu'un d'autre, alors pourquoi pas ?  :)
       
      0
    2. Utilisateur anonyme
       
       
      Bonjour à tous, et Joyeux Noël !

      Au cas où le lien de mon message #3 n'a pas marché, je joins de nouveau
      mon Fichier Excel 2007 via cjoint.com ; c'est exactement le même que le
      précédent, sans aucune modif, puisque l'ayant déjà testé au préalable,
      je sais qu'il marche parfaitement.

      D'ailleurs, voici le code du UserForm par copier / coller :

      
      Option Explicit
      
      
      Private Sub CommandButton1_Click()
        Dim chn As String, com As String, col As Byte
        For col = 3 To 15
          With Cells(8, col)
            If Not .Comment Is Nothing Then
              com = .Comment.Text
              If com <> "" Then chn = chn & com & vbLf
            End If
          End With
        Next col
        TextBox1 = chn
      End Sub
      
      

      Comme je l'ai déjà indiqué, c'est un code sans On Error Resume Next ;
      c'est bien la preuve qu'on peut tout à fait s'en passer.  ;)

      =============================

      Note particulière à celui qui a noté mon article en négatif :

      1) As-tu pris le temps et la peine de télécharger et tester mon fichier avant
          de noter en négatif un code VBA que j'ai vérifié et testé avant de poster ?

      2) Si mon lien n'a pas marché, il suffit de l'indiquer dans un commentaire
          du message au lieu de noter en négatif juste pour ça : je te remet un
          lien sur le fichier comme je l'ai fait ci-dessus.

      3) Quand tu cliques sur le bouton de commande « Bouton 5 », ça affiche
          le formulaire « UserForm1 », dont la case est vide ; si tu m'as noté en
          négatif à cause de ça, tu t'es trompé car c'est normal que ce soit vide :
          il faut cliquer sur le bouton « Afficher » pour que le texte de tous les
          commentaires apparaisse dans la case. Si tu as été trop paresseux
          pour noter en négatif sans prendre le temps d'en indiquer la raison,
          peut-être as-tu été trop paresseux aussi pour cliquer sur ce bouton
          Afficher ?

      4) Si tu as cliqué sur le bouton « Afficher », tu as pu donc voir que tous les
          commentaires s'affichent dans la case (ceux de la plage C8:O8) et c'est
          bien ce qui est demandé dans l'énoncé de Fragnette ; alors comment
          peux-tu noter en négatif un code qui marche parfaitement ?

      5) Sache que j'admet tout à fait une critique ou une note négative si elle
          est justifiée ; mais sans aucun argument valable, je trouve ta note
          totalement injustifiée et irrecevable.

      6) Je suis toujours ouvert à des critiques justifiées et constructives,
          ainsi qu'à des suggestions d'adaptation et amélioration.

      Cordialement.  :)
       
      0