Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Commentaire avec forme automatique

  • Initiateur de la discussion Initiateur de la discussion natorp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

natorp

XLDnaute Barbatruc
Bjr à toutes et tous,

J'ai récupéré un commentaire qui est fait comme une forme automatique. Mais je n'arrive pas à le reproduire, je ne vois pas comment on fait. J'ai bien vu pour l'image, mais pas la forme.

Merci de votre aide, cordialement, Gérard
 

Pièces jointes

Re : Commentaire avec forme automatique

Re

Ah, merci 00, sinon, sur XL2010 est-ce que le code du post 14 fonctionne?

Tiens, un petit cadeau. Pour insérer un commentaire le raccourci est: Shift+F2.
 
Re : Commentaire avec forme automatique

Bonjour Jean-Marie


Ne fonctionne pas sur mon Excel 2013
(On ne voit pas le défilement des formes et Excel plante)

Oui, comme moi 🙁. Mais je voudrais savoir si cela fonctionne sur XL2010.

Et si quelqu'un sait comment le résoudre sur XL2013 pour qu'il s'affiche?
 
Re : Commentaire avec forme automatique

Bonjour à tous

Y'aurait-il quelqu'un pour tester ce programme sur XL2010 😕 (code à copier dans un module, puis lancer avec Alt+F8. Les commentaires devraient s'afficher) .

Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Commentaires_Types()
 Application.DisplayCommentIndicator = xlCommentAndIndicator
 Sheets.Add
 Range("A2").AddComment
For N = 1 To 100
'Range("A2").Comment.Shape.Select True
 Range("A2").Comment.Shape.AutoShapeType = N
 Range("A2").Comment.Shape.Visible = msoCTrue
 Range("A2").Comment.Shape.Fill.ForeColor.RGB = RGB(20, 255, 255)
 Range("A2").Comment.Shape.TextFrame.Characters.Caption = N
 Range("A2").Comment.Shape.TextFrame.Characters.Font.Size = 12
 Range("A2").Comment.Shape.TextFrame.Characters.Font.ColorInd ex = 12
 Range("A2").Comment.Shape.TextFrame.Characters.Font.Color = RGB(255, 0, 0)
 Sleep 100
Next N
 Application.DisplayCommentIndicator = xlCommentIndicatorOnly
End Sub

Merci d'avance 🙂.
 
Re : Commentaire avec forme automatique

Bonjour job75 😉

Moi aussi j'avais supprimé cet espace mais malgré cela, sous Excel 2013, cela ne fonctionne pas.
On ne voit pas défiler les formes.
Je me demande si Excel 2013 n'a pas un problème avec :
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

PS: Donc OK pour 2003/2007/2010 et pas pour 2013
Y a plus qu'à tester pour 97 et 2000 😉
 
Re : Commentaire avec forme automatique

Re,

En fait j'avais mal testé, l'instruction Sleep 100 met le pataquès en arrêtant l'affichage (de manière aléatoire semble-t-il).

Alors voyez en la remplaçant par :

Code:
t = Timer: While Timer < t + 0.5: DoEvents: Wend
A+
 
Re : Commentaire avec forme automatique

Re

Bing ! Job75 😉 (même intuition 😉)
Voila ainsi cela marche sous Excel 2013
(j'ai pour tester supprimer le formatage, et me suis focaliser sur le défilement des formes)
Avant de lancer la macro, j'ai inséré manuellement un commentaire en A2
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Commentaires_Types()
Dim N As MsoAutoShapeType
Range("A2").Comment.Text Text:=""
For N = 1 To 100
DoEvents
Range("A2").Comment.Shape.AutoShapeType = N
Range("A2").Comment.Text Text:=""
Sleep 100
Next N
End Sub
 
Re : Commentaire avec forme automatique

Re Jean-Marie,

Oui, il faut simplement le DoEvents pour laisser le temps au commentaire de se modifier.

Et ceci est vrai sur toute version Excel je pense.

A+
 
Re : Commentaire avec forme automatique

Re

Allez pour le fun, un festival de couleurs 😉
(Faut bien occuper son dimanche après-midi, pas vrai? 😉 )
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Commentaires_TypesIII()
Dim N As MsoAutoShapeType, x&, y&, z&
Randomize 1245897
For N = 1 To 100
DoEvents
Range("A2").Comment.Shape.AutoShapeType = N
x = Int(Rnd * 255): y = Int(Rnd * 255): z = Int(Rnd * 255)
With Range("A2").Comment.Shape
    .Fill.ForeColor.RGB = RGB(x, y, z)
    .TextFrame.Characters.Caption = ""
    .Line.ForeColor.RGB = RGB(z, x, y)
    .Line.BackColor.RGB = RGB(y, z, x)
End With
Sleep 100
Next N
End Sub
 
Re : Commentaire avec forme automatique

Re

Salut MJ13 😉
Tu as testé la dernière version avec des couleurs tout partout ?
Manque plus que la zik à chaque changement de forme
Chiche? (ou simplement un tit coup de Beep voire plus dur une mélodie à coup de Beep 😉 )
 
Re : Commentaire avec forme automatique

Manque plus que la zik à chaque changement de forme
Chiche? (ou simplement un tit coup de Beep voire plus dur une mélodie à coup de Beep 😉 )

Pour les XLDiens mélomanes :

Code:
Declare Function beep_api Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Sub zizik()
Dim a, i&
'•Do : 264 Hz
'•Ré : 297 Hz
'•Mi : 330 Hz
'•Fa : 352 Hz
'•Sol : 396 Hz
'•La : 440 Hz (Le LA du diapason)
'•Si : 495 Hz
'•Do4 : 528 Hz

'Au clair de la lune
a = Array(264, 264, 264, 297, 330, 297, 264, 330, 297, 297, 264)
For i = 0 To 10
beep_api a(i), IIf(i = 4 Or i = 5 Or i = 10, 1000, 400)
Next

End Sub
Pas mal chez moi sur Excel 2010, pas terrible sur 2003.

A+
 
Re : Commentaire avec forme automatique

Re

Bon bah, je vois que je suis pas le seul à faire muzmuz avec VBA. 😉
Merci Job75 pour l'équivalence des notes 😉

Une autre mélodie venue du Pays du Soleil Levant

Code:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
    (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Code:
Sub zik2()
'merci à l'auteur: [COLOR=#000000]ichinose (enfin je crois que c'est son nom)[/COLOR]
    Dim a, b
    Dim g0 As Long
    a = Array(400, 449, 504, "s", 400, 449, 504, "s", 599.3, 504, 449, 400, 449, 504, 449)
    b = Array(500, 500, 500, 300, 500, 500, 500, 300, 500, 500, 500, 500, 500, 500, 700)
    For g0 = LBound(a) To UBound(a)
        If a(g0) = "s" Then
           Sleep b(g0)
        Else
           BeepAPI a(g0), b(g0)
        End If
    Next
 End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
2
Affichages
91
Réponses
3
Affichages
217
Réponses
15
Affichages
460
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…