commentaires sous conditions

pascal21

XLDnaute Barbatruc
Code:
Private Sub Worksheet_Calculate()
If Range("f5") <> "" Then
 repertoire = ThisWorkbook.Path & "\"
  For Each c In Range("f5")
    c.ClearComments
    c.AddComment
    c.Comment.Text Text:=c.Value
    c.Comment.Shape.Fill.UserPicture repertoire & c.Value & ".jpg"
    c.Comment.Shape.Height = 200
    c.Comment.Shape.Width = 200
    c.Comment.Shape.ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft
  Next c
  
  End If
bonjour le forum
ce code de Mr Boisgontier (merci à lui), permet d'afficher une image dans un commentaire en fonction du contenu de la cellule (ici F5)
j'aimerais modifier pour que la macro ne se déclenche pas si F5 contient un x ou est vide
je ne trouve pas la syntaxe
je ne peux mettre un fichier exemple car pour fonctionner il faut créer un dossier contenant les images et le classeur
merci pour votre aide
 

Dull

XLDnaute Barbatruc
Re : commentaires sous conditions

Salut Pascal21, le Forum

Pas testé mais essaye de mettre cette ligne de code

Code:
  If IsEmpty([F5]) Or [F5] = "x" Then Exit Sub
sous
Code:
  For Each C In Range("F5")
A Tester

Bonne Journée
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : commentaires sous conditions

bonjour dull
ta ligne fonctionne bien
mais je n'arrive pas faire fonctionner l'ensemble du code pour plusieurs cellules qui sont F5 H5 I5 K5 M5 O5 (ce que je n'avais pas signalé dans le premier message)
j'avais en fait de mon coté recopier le code autant de fois qu'il y a de cellules (j'ai beaucoup de mal avec les boucles en fait)
et comme ton code comporte "then exit sub" et bien la macro s'arrête si elle trouve une cellule vide ou avec x
il faudrait en fait ou une boucle (plus propre) ou alors autre chose que "exit sub"
merci
 

pascal21

XLDnaute Barbatruc
Re : commentaires sous conditions

bonjour job
j'ai rajouté ton code mais même si ça semble correct, je n'arrive pas à faire fonctionner le tout comme je l'entends
je reprends donc depuis le debut ma demande
dans les cellules F5 H5 I5 K5 M5 O5 j'ai un commentaire en image qui s'affiche en fonction du contenu de ces cellules
j'aimerais en fait que si une de ces cellules contient x ou " " alors pas d'affichage de commentaire et que si une de ces cellules contenaient déjà un commentaire , que ce commentaire soit effacé
voilà en espérant avoir été plus clair
merci
 

job75

XLDnaute Barbatruc
Re : commentaires sous conditions

Bonjour pascal21, le fil, le forum,

(...) et que si une de ces cellules contenaient déjà un commentaire , que ce commentaire soit effacé

Eh bien alors, pas compliqué, il faut l'effacer avant le test ;)

Code:
For Each c In Range("F5,H5,I5,K5,M5,O5") 
  [COLOR="Red"]c.ClearComments[/COLOR]
  If c <> "" And c <> "x" Then
  '---la suite---
  End If
Next c

Dans ton post précédent tu indiques " " (espace), je suppose que c'est "" (texte vide) sinon je pense que tu sauras adapter...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 114
Membres
104 037
dernier inscrit
damsau