[Excel] - Résultat dans un commentaire excel

Résolu/Fermé
didadel
Messages postés
1
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
5 août 2008
- 5 août 2008 à 19:49
 didadel - 27 août 2008 à 21:21
Bonjour,

Bonjour,
J'ai un total (fournitures et déchets) en A1
J'ai le nombre de "déchets" de ce total en B1

Est il possible d'afficher le pourcentage de "déchets" liés a ce total dans le commentaire de cette même cellule (B1) ?

Merci didier

3 réponses

gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 615
6 août 2008 à 12:28
bonjour

Dans ta feuille concernée, après avoir créé ton commentaire, tu places cette macro (mode d'emploi)
Private Sub Worksheet_Calculate()
    Range("B1").Comment.Text Text:=Int([B1].Value / [A1].Value * 100) & " % de déchets"
End Sub

Chaque fois que ta feuille changera de valeur ton pourcentage sera mis à jour.

Si tes cellules se situent ailleurs, ce qui est vraisemblable, tu adaptes.

PS : Salut eric, j'arrive en retard et à minima : il n'y a plus qu'à choisir...
1
bonjour et merci
0
artamys
Messages postés
120
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
9 mars 2018
7
6 août 2008 à 12:13
oui, il faut passer par une macro VBA mais cela impique de la programmation.
il faudra définir la proprieté value du commentaire de la cellule concerné.
0
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 090
6 août 2008 à 12:22
Bonjour,

coller le code vba suivant dans le code de la feuille concernée et adapter aux besoin :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c1 As Range, c2 As Range
    ' actif sur la plage A2:B10
    If Intersect(Target, Range("A2:B10")) Is Nothing Then Exit Sub
    Set c1 = Cells(Target.Row, 1) '1 => colonne A
    Set c2 = Cells(Target.Row, 2) '2 => colonne B
    c2.ClearComments
    If IsEmpty(c1) Or IsEmpty(c2) Or c1.Value = 0 Then
        Exit Sub
    Else
        c2.AddComment
        c2.Comment.Text Text:=Format(c2 / c1, "0.0%") 'format pourcentage
        c2.Comment.Visible = True
        c2.Comment.Shape.Select True
        Selection.ShapeRange.Width = 40 'largeur
        Selection.ShapeRange.Height = 12 'hauteur
        c2.Comment.Visible = False
    End If
End Sub


et un exemple : http://www.cijoint.fr/cjlink.php?file=cj200808/cijEcB5dd1.xls

eric
0
Bonjour et merci ;-)
0