Commentaire dans cellule excel

Bonjour, bon mon titre pas terrible mais j'avais pas assé de place pour dévelloper. Je sais commen metre un commentaire dans une cellule. Il suffit de le tapper manuellement. En fait j'aimerai que l'orsque je positionne ma sourie sur la cellule, afficher des informations qui proviennent d'une autre feuille du meme fichier, ou voir meme d'un autre fichier(soyon fou). Est ce que cela est possible ou bien je plane complètement.
je travaille sur exel 97/2003.
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonsoir,
    dans la feuil1
    essaies ce bout de code qui renvoie la valeur de B2 dans la feuil2:

    With Selection
    formule = CStr(Sheets(2).Range("B2"))
    .AddComment
    .Comment.Text Text:=formule
    End With

    pour le fichier extérieur, j'vas regarder.

    Michel

    edit:

    et voila la bête (les 2 classeurs dans m^me répertoire, le classeur "essai2" étant ouvert):

    With Selection
    formule = CStr(Workbooks("essai2.xls").Sheets(1).Range("C2"))
    .AddComment
    .Comment.Text Text:=formule
    End With

    a adapter à tes besoins (procédure paramêtrée?, cas ou il existe déjà un commentaire?...)
    1. merci pour ta reponse mais je ne doit pas utiliser la formule de la bonne facon, ca me donne une erreur sur "range"
      Commen doit je l'utiliser cette formule ?
      je copie tout tel quel dans la celule
      "With Selection
      formule = CStr(Sheets(2).Range("B2"))
      .AddComment
      .Comment.Text Text:=formule
      End With " ???
      1. Contributeur
        C'est du VBA !!!...

        il faut inclure ces instructions dans une procédure comme je te l'indique...

        Si tu ne connais pas ne serait-ce que les macros fonctions (rassure toi, on vit très bien sans!)tu vas avoir du mal !
        Comme tu a posté dans le forum "programmation", j'ai cru que tu connaissais VBA....

        Si j'ai le temps demain, j'essaierai, ou qqn d'autres sur le forum, de te pondre un truc.

        Michel
        1. heu.. je suis pas un as de la progamation, mais j'ai quelque notions de macro quan meme. lol dison que sais faire des macros en utilisant l'assistant, je suis un petit débutant de macros. donc je vais essayer comme ca, mais une macros doit etre lancée pour fonctionnée? c'est pas comme une celulle qui contien une formule? si peut etre lol
          merci en tout cas je vais tester
          1. ok ca marche c'est nickel. merci mais maintenant j'ai un autre probleme. en fait j'aimerai utilser cete macro mais pour quelle affiche un resultat par rapport au nom qui correspond. je vais essayer d'expliquer.
            j'ai 2 feuilles, sur la premiere j'ai une colone qui contien des nom de client, et il y a des chifrre dans d'autre colone qui corespondent a ca commande.
            ex: client commande bon nulll reste
            dupond 30 20 5 5

            et j'aimerai que ca apparaisse dans le commentaire, soit juste les chifre 30; 20; 5; 5
            soit carrement commande: 30; bon:20; null:5; reste:5
            je sais pas si on peut faire ca.
            sur la deuxieme feuile j'uttilise une formule "index, equiv" pour recuperer les donnée de la feuille 1. alors je me demande si c'est possible de metre cette formule dans la macro, comme ca le commentaire qui s'affichera sera en re la tion avec les résultat de la feuille1 qui sont en relation avec le nom dema celule en feuille2. OU alors le language vba ne peut pas etre mélanger au formulexcel, je sais pas. je débute.
            si quelqu'un a une idée
            1. je vien d'éssayer ca ma ca marche pas lol

              Sub com()
              With Selection
              formule =INDEX(Feuil1!B:B;EQUIV($A2;Feuil1!A:A;0);1)
              .AddComment
              .Comment.Text Text:=formule
              End With

              End Sub
              1. Contributeur
                Tu peux toujours utiliser les fonctions excel mais en anglais (sans garantie: INDEX change pas et EQUIV se dit Match jle crois) les séparateurs sont des virgules et non des points virgules; les cellules sont désignées par range("A2").La ligne doit commencer par Application.worksheetfunction (worksheetfunction est facultatif)
                par exemple
                resultat= Application.worksheetfunction.index(range("B1:B8"), match(tavar,range("E1:E8"),0))

                Mais il serait plus intéressant d'utiliser "find"

                lig=range("E1:E8").find(mtavar).rox donne la ligne où se trouve tavar

                resultat=cells(lig,2) donne la valeur cherchée

                dans ton commentaire, pour allar à la ligne

                formule= resultat & (chr10) & autrerésultat

                Michel