Commentaires dynamiques

  • Initiateur de la discussion Initiateur de la discussion olhey
  • 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 !

olhey

XLDnaute Occasionnel
Bonjour,

Voilà mon but: j'ai un tableau avec différents objets dans des cellules qui on chacun un commentaire, tous les commenaitres contiennent le même type d'informations(un code et un nom), jaimerais que les commentaires se "remplissent" tout seul à la manière de:
objet1>>fait une rechrchev(objet1)dans ma feuil2 où toutes les infos sont stockées>>affiche le contenu des deux cellules suivantes dans son commentaire.

Mais voyez plustôt avec le fichier

Merci de votre aide!!
 

Pièces jointes

Re : Commentaires dynamiques

bonjour olhey,

je te propose ce code :
Code:
Dim curCell As Range, cellFind As Range
For Each curCell In ThisWorkbook.Sheets("Feuil1").Range("$C$10:$H$16")
    On Error Resume Next
    curCell.Comment.Delete
    On Error GoTo 0
    If curCell.Text <> vbNullString Then
        Set cellFind = ThisWorkbook.Sheets("Feuil2").Range("B:B").Find(curCell.Value, , , xlWhole)
        If Not cellFind Is Nothing Then
            curCell.AddComment ("code: " & cellFind.Offset(0, 1).Text & vbNewLine & "nom: " & cellFind.Offset(0, 2).Text)
        End If
    End If
Next curCell

a+
 
Re : Commentaires dynamiques

bonjour je viens de tester le code, lié à un bouton.

je crois que mromain mérite un standing ovation 🙂c'est nickel.
je vais faire necore deux trois tests pour voir si tout est okay.
a+

EDIT: juste une question pour ma culture 😀 :

Code:
. Find(curCell.Value[COLOR="Red"], , , xlWhole[/COLOR])

qu'est ce: xlwhole et que peut on mettre entre les , , ,?

EDIT2: j'en profite pour poser 2 petites questions:
1 comment faire pour que le saut à la ligne ne soit pas représenté par un petit carré
2 est ce qu'à la création du commentaire on peut spécifier sa taille(taille du rectangle jaune)?
 
Dernière édition:
Re : Commentaires dynamiques

Bonjour,

-Maj auto à la saisie
-Maj auto si modif Base

Code:
Private Sub Worksheet_Activate()
  maj
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  maj
End Sub

Sub maj()
  For Each c In [c10:h16]
   If c <> "" Then
    Set p = Application.Index([Base], , 1).Find(what:=c, lookat:=xlWhole)
    If Not p Is Nothing Then
       temp = p.Offset(0, 1) & vbLf & p.Offset(0, 2)
       If c.Comment Is Nothing Then c.AddComment
       c.Comment.Text Text:=temp
       c.Comment.Shape.TextFrame.AutoSize = True
     End If
   End If
  Next c
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
Re : Commentaires dynamiques

ouah la classe!

pour paufiner mon projet,j'aimerais que lorsque je clique sur une case de ma feuil1(si il ya qqch dedans), il recherche dans la feuil2 l'objet et me redirige dessus. Vous me direz que j'ai juste besoin de liens hypertexte, mais le problème c'est si j'utilise des filtres dans la feuil2, le liens faisant référence à une celulle, bein patatra...
 
Re : Commentaires dynamiques

Sur double-click

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect([c10:h16], Target) Is Nothing And Target <> "" Then
    Set p = Application.Index([Base], , 1).Find(what:=Target, lookat:=xlWhole)
    If Not p Is Nothing Then
      Application.Goto p
    End If
  End If
  Cancel = True
End Sub

Visu dans shape


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([C10:H16], Target) Is Nothing And Target.Count = 1 Then
    Set p = Application.Index([Base], , 1).Find(what:=Target, lookat:=xlWhole)
    If Not p Is Nothing Then
      ActiveSheet.Shapes("monShape").Visible = True
      [s2] = Target
      Shapes("monshape").Left = Target.Offset(, 1).Left + 5
      Shapes("monshape").Top = Target.Top
    Else
      ActiveSheet.Shapes("monShape").Visible = False
    End If
  End If
End Sub


JB
 

Pièces jointes

Dernière édition:
Re : Commentaires dynamiques

re

ça se corse un peu dans mon projet final:

[s2] = Target

jaimerais que le "target" soit sur une autre feuil(feuil2), car ma feuil1 est déjà destinée à qqch d'autre,mais c'est bein mon tableau "source", donc target devrai être sur la même page que BASE...

MErci de votre aide précieuse
 
- 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

C
Réponses
6
Affichages
732
B
Réponses
0
Affichages
1 K
bilbinou
B
Réponses
21
Affichages
5 K
G
Réponses
11
Affichages
1 K
Guardi_Guedj
G
F
Réponses
7
Affichages
2 K
fifine555
F
D
Réponses
4
Affichages
2 K
D
T
Réponses
1
Affichages
8 K
Retour