Creation de commentaire

T

Trab2k1

Guest
Est-ce quelqu'un serait comment faire une macro (ou autre?) qui permettrait de mettre en commentaire de la cellule A1 le texte de la cellule B1, commentaire de la cellule A2 le texte de la cellule B2, et ainsi de suite jusqu'à ce qu'il n'y est plus rien dans la colonne A. De plus si il pouvait vérifié que la cellule Bi n'est pas vide avant de la mettre en commentaire (pour ne pas avoir des commentaires vides) ce serait parfait.
Merci d'avance pour les réponses.
 
M

Mytå

Guest
Salut Trab2k1

Voila une idée de base suffit de la travailler

Sub Créer_commentaire()
Range("A1").Select
Range("A1").AddComment
Range("A1").Comment.Visible = False
Range("A1").Comment.Text Text:=Range("B1").Value
Range("A2").Select
Range("A2").AddComment
Range("A2").Comment.Visible = False
Range("A2").Comment.Text Text:=Range("B2").Value
Range("A3").Select

End Sub

Amicalement Mytå
 
M

Mytå

Guest
Re Trab2k1

Personne d'autre n'a répondu voila donc le tout finalisé

Sub Créer_commentaire()
For i = 1 To Range("b65535").End(xlUp).Row
If Range("B" & i).Value <> "" Then
Range("A" & i).ClearComments
Range("A" & i).Select
Range("A" & i).AddComment
Range("A" & i).Comment.Visible = False
Range("A" & i).Comment.Text Text:=Range("B" & i).Value
Else
Range("A" & i).ClearComments
End If
Next i
End Sub

Espérant tu seras satisfait de celà j'ai ainsi gérer la case vide

Amicalement Mytå
 
@

@+Thierry

Guest
Salut Mytå et Trab2k1

Mytå, sans tester le code, mais juste pour la finition...

Sub Créer_commentaire()
For i = 1 To Range("b65535").End(xlUp).Row
If Range("B" & i).Value <> "" Then
With Range("A" & i)
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Range("B" & i).Value
End With
Else
Range("A" & i).ClearComments
End If
Next i
End Sub

Pas sûr que le "addComment" vire le précédent comment..., si il y a un problème remettre un .ClearComment dans le With... Par contre le Select ne sert à mon avis à rien (mis à part de faire un feu d'artifice à l'écran...)

sinon c'est très bien :)
@+Thierry
 
M

Mytå

Guest
re le forum et @+Thierry

Bien oui le ClearComments est nécessaire j'avais tester car si le commentaire existe deja .AddComment donne erreur débogage

Sub Créer_commentaire()
For i = 1 To Range("b65535").End(xlUp).Row
If Range("B" & i).Value <> "" Then
With Range("A" & i)
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Range("B" & i).Value
End With
Else
Range("A" & i).ClearComments
End If
Next i
End Sub

Merci pour la simplification du fichier encore pas familier de faire sauter les .select :)) Donc ceci la version final

Merci encore,
Amicalement Mytå
 
T

Trab2k1

Guest
Merci Mytå et Thierry, c'est exactement ce que je cherchais (pour chipoter j'aimerais savoir si il est possible de redimensionnez la taille de l'info-bulle commentaire à la dimension du texte).
Merci encore
Amicalement Trab2k1
 
M

Mytå

Guest
Re Trab2k1 et le Forum

Bien oui c'est possible

Sub Créer_commentaire()
For i = 1 To Range("b65535").End(xlUp).Row
If Range("B" & i).Value <> "" Then
Range("A" & i).Select
With Selection
.ClearComments
.AddComment
.Comment.Visible = True
.Comment.Text Text:=Range("B" & i).Value
End With
Range("A" & i).Comment.Shape.Select True
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.Orientation = xlHorizontal
.AutoSize = True
End With
Range("A" & i).Comment.Visible = False
Else
Range("A" & i).ClearComments
End If
Next i
End Sub

Voila et bonne fin de journée Mytå
 
@

@+Thierry

Guest
=> Mini Démo Jouer avec la Creation de commentaires !!!!

Bonsoir,

Vu que les commentaires ont l'air de vous amuser dans ce fil........

Je vous recommande d'essayer ce code que je viens d'inventer !! (le résulat n'est pas forcément plus lisible que les commentaires par défaut d'excel mais c'était juste pour la "performance" (lol)

Sub Créer_commentaire()
Dim i As Integer
For i = 1 To Range("b65535").End(xlUp).Row
If Range("B" & i).Value <> "" Then
With Range("A" & i)
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Range("B" & i).Value
With Range("A" & i).Comment.Shape
.TextFrame.AutoSize = True
.Fill.ForeColor.RGB = RGB(255, 0, 0)
.Fill.Transparency = 0.5
With .OLEFormat.Object
With .Font
.Name = "Arial"
.Size = 40
.ColorIndex = 6
.Bold = True
End With
End With
End With
End With
Else
Range("A" & i).ClearComments
End If
Next i
End Sub


Pour mon ami Mytå ... tu noteras qu'il n'y a toujours aucun "Select" dans mon code. héhéhé :)

Par contre moi je laisse les comments en Visible = False, car je n'ai toujours pas compris pourquoi tu les mets en "True" pour les mettre en "False" 10 lignes plus bas ... lol

Bonne Soirée

"Just for the Fun" !!!
@+Thierry
 
M

Mytå

Guest
Re: => Mini Démo Jouer avec la Creation de commentaires !!!!

Re le forum et @+Thierry


On va tu se battre sur une VBA comme cela tous les jours

Mais la bon j'ai rien a dire sinon bravo

Faut dire que je n'ai que 3 mois de VBA comme expérience mais bon avec XLD et tous les adeptes j'apprends.

Longue Vie a XLD et merci pour tous tes répponses Thierry

Votre hote Mytå
 
M

Mytå

Guest
Re: => Mini Démo Jouer avec la Creation de commentaires !!!!

re encore moi :)

@+Thierry avec ta macro on est sur (meme sans lunette) de lire le commentaire de la cellule.

(je l'avait pas essayez encore)

Encore 3 étoiles a ton palmarès de macro

Mytå
 
C

Cyril

Guest
Re: => Mini Démo Jouer avec la Creation de commentaires !!!!

Bonjour,

Je souhaite savoir s'il est possible de vérifier si une cellule contient un commentaire ou non !
Un p'tit bou de code serait le bien venu

Merci et a Bientot
Si toutefois vous aviez besoin de précision, de plus d'explication ...
 
@

@+Thierry

Guest
Re: => Mini Démo Jouer avec la Creation de commentaires !!!!

Bonjour Cyril, bonjour le Forum

Humm, vite fait une idée un peu détournée, mais bon mon bain va déborder !

Sub test()
On Error GoTo fin
If ActiveCell.Comment.Visible = True Or ActiveCell.Comment.Visible = False Then
MsgBox "Comment Ici"
End If
fin:
End Sub

L'idéal serait de capter directement la propriété comment, mais j'ai pas trouvé, mais je pense qu'il y a moyen.

Bonne Semaine
@+Thierry
 
M

Myta

Guest
Re: => Mini Démo Jouer avec la Creation de commentaires !!!!

Salut le forum

Une autre approche a voir

Sub Trouver_comments()
Dim Nbre As Integer, i As Integer
Dim texte As String
Dim c As Object
Nbre = ActiveSheet.Comments.Count
ReDim a(Nbre) As String
texte = ""
i = 1
For Each c In ActiveSheet.Comments
texte = texte & vbCrLf & c.Parent.Address
i = i + 1
Next
If texte = "" Then
MsgBox ("Vous n'avez aucun commentaire sur cette page." & vbCrLf & texte)
Else
MsgBox ("Vous avez des commentaires sur les cellules : " & vbCrLf & texte)
End If
End Sub

Mytå
 

Discussions similaires

Statistiques des forums

Discussions
314 658
Messages
2 111 621
Membres
111 235
dernier inscrit
Morgane SANCHEZ