Afficher commentaires dans texbox vba

Résolu/Fermé
Fragnette Messages postés 22 Date d'inscription samedi 24 décembre 2016 Statut Membre Dernière intervention 30 janvier 2017 - 24 déc. 2016 à 16:04
 Utilisateur anonyme - 10 janv. 2017 à 19:13
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

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié par gbinforme le 24/12/2016 à 17:51
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
Utilisateur anonyme
10 janv. 2017 à 19:13
 
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
Fragnette Messages postés 22 Date d'inscription samedi 24 décembre 2016 Statut Membre Dernière intervention 30 janvier 2017
24 déc. 2016 à 17:52
YES!!!!!!!!
Bravo

merci et merci
joyeux noel
0
Fragnette Messages postés 22 Date d'inscription samedi 24 décembre 2016 Statut Membre Dernière intervention 30 janvier 2017
6 janv. 2017 à 18:25
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
Utilisateur anonyme
7 janv. 2017 à 21:08
 
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
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
 
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
Utilisateur anonyme
25 déc. 2016 à 11:26
 
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