Excel rechV valeur+commentaire

Résolu
titi42 -  
jean-pierre34 Messages postés 22 Statut Membre -
Bonjour,
Lorsque je fais une formule rechercheV, je récupère le contenu de la cellule sans son commentaire.
Existe-il une formule/matrice (je ne sais pas faire les matrices) me permettant de récupérer la cellule avec son commentaire?
J'utilise Excel 2007.
Merci pour votre aide.
Configuration: Windows XP
Internet Explorer 7.0

18 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir novicelive,

    Tiens, j'avais oublié que j'avais fait ça moi... Ca fait plaisir de voir que ça interesse encore du monde :-)

    Voici une nouvelle version complétée et qui marche donc qu'il y ait ou non un commentaire sur la cellule source.

    Fonction personnalisée copiant la valeur d'une cellule et son commentaire :
    CopierAvecCommentaire.xls
    N'est pas récupéré : la mise en forme du commentaire (police, taille et attributs police, couleurs,...).

    eric
    2
    1. JF24
       
      merci eric, je suis moi aussi à la recherche d'une formule pour copier une cellule avec le commentaire, et ta formule fonctionne bien mais comme le dit "novicelive" (Un petit hic quand même quand la cellule source n'a plus de commentaires l'ancien est toujours présent et n'est pas effacé dans la cellule destination.)
      Est ce que tu aurais une solution????
      novicelive dit qu'il faut rajouter ".ClearComments" au code après la seconde ligne l'instruction, mais ".ClearComments" y est déjà et celà n'efface pas l'ancien commentaire.

      merci
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Recherchev() ne te ramène que le contenu de la cellule effectivement.
    Un copier/coller ou couper/coller t'emmene le commentaire mais aucune formule (à ma connaissance) ne te permet de le faire.
    Il faut une macro en vba

    eric
    0
  3. titi42
     
    Slt ERIC,
    Merci pour ta réponse.
    Saurais-tu me donner la marche à suivre pour effectuer cette macro ?
    Merci
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Je t'ai fait une fonction personnalisée qui demande en paramètre une référence de cellule et qui retourne la valeur de la cellule et ajoute le commentaire.
    Les dimensions du commentaire sont celles du commentaire source, ainsi que sa 'visibilité'. Si tu préféfères qu'il soit toujours masqué par défaut tu peux remplacer la ligne concernée par Range(AdrAppelFn).Comment.Visible = false
    Bien sûr il va falloir revoir le fonctionnement de ta formule de façon à récupérer la référence de la cellule recherchée au lieu de son contenu. Donc utiliser des combinaisons equiv() et index() à la place de recherchev()
    Function CopierAvecCommentaire(Source As Range)
        Application.Volatile
        AdrAppelFn = Range(Parent.Caller.Address(RowAbsolute:=False, columnAbsolute:=False))
        Range(AdrAppelFn).ClearComments
        Range(AdrAppelFn).AddComment
        Range(AdrAppelFn).Comment.Text Text:=Source.Comment.Text
        Range(AdrAppelFn).Comment.Shape.Height = Source.Comment.Shape.Height
        Range(AdrAppelFn).Comment.Shape.Width = Source.Comment.Shape.Width
        Range(AdrAppelFn).Comment.Visible = Source.Comment.Visible
        CopierAvecCommentaire = Source.Value
    End Function

    Cette fonction est à coller dans un module et non dans la feuille.
    Si le commentaire source est modifié il faut qu'il y ait un recalcul de la feuille pour que la copie soit mise à jour. Soit une cellule qui est modifiée, soit faire F9 pour forcer.
    A ta disposition si tu as besoin de plus d'explication
    eric
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. titi42
     
    Salut,
    Bon ça fait un moment que j'essaie mais je n'arrive pas à mettre ta solution en place...

    Je vais essayer d'être synthétique :

    1/ Copier/coller la "Function" dans le module c'est OK (c'est dans MS Virtual Basic n'est-ce pas?)

    2/ Pour ce qui est des autres aspects "masquage" et recalcul", c'est OK aussi

    3/ Je bloque quand tu dis "Bien sûr il va falloir revoir le fonctionnement de ta formule de façon à récupérer la référence de la cellule recherchée au lieu de son contenu. Donc utiliser des combinaisons equiv() et index() à la place de recherchev()".
    En fait je ne vois pas exactement ce qu'il faut faire et je ne connais pas du tout les fonctions index et equiv...

    >> Pourrais tu me donner un exemple de la formule finale qu'il faut taper si je souhaite avoir le résultat que je recherche en A1 par ex?

    Encore merci pour ton aide !!
    0
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Effectivement j'ai des difficultés à la mettre en oeuvre aussi. Je ne récupère pas la cellule d'appel de la fonction alors que ça réagissait bien lors des tests...
    Je cherche pourquoi ce soir ou demain et je te recontacte
    eric
    0
  8. novicelive Messages postés 2 Statut Membre
     
    Bonjour,

    L'intéret na pas de limite de temps, les bonnes choses ne se perdent jamais.

    Merci de cette réponse rapide, je me suis empressé de tester.
    Un petit hic quand même quand la cellule source n'a plus de commentaires l'ancien est toujours présent et n'est pas effacé dans la cellule destination.

    Il faut rajouter au code après la seconde ligne l'instruction ".ClearComments" pour effacer les précédants commentaires.

    Cordialement
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      J'y avais songé mais je me suis dit justement l'inverse, si on a un commentaire dans la cellule de destination est-ce interessant de le perdre car il n'y en a pas dans la cellule source.
      Je vais laisser mûrir pour l'instant, ou peut-être une variable optionnelle....
      Tu as pu adapter à tes besoins c'est l'essentiel.
      eric
      0
  9. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour JF24,

    Si tu veux que la suppression d'un commentaire suive dans la cellule ayant la fonction personnalisée inverse les lignes if... et celle avec le .clearcomments pour obtenir :
        Range(AdrAppelFn).ClearComments
        If Not Source.Comment Is Nothing Then


    Ensuite, comme la fonction est volatile, n'importe quel saisie dans une cellule ou même un suppr dans une cellule vide forcera la mise à jour de tous les commentaires.

    eric
    0
    1. JF24
       
      Merci beaucoup eriic ça fonctionne!, si un jour, tu as une solution pour une actualisation automatique, fait moi signe!

      merci encore

      JF
      0
  10. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    hummmm, n'espère pas trop ;-)
    Si c'était toujours les même cellules en cause ça pourrait être fait en macro mais tu perds la souplesse d'une fonction personnalisée.
    Et en restant fonction personnalisée ça nécessiterait une gestion beaucoup trop lourde en vba pour que ce soit interessant (plusieurs heures de boulot pour éviter un suppr ou une simple saisie qui remet tout à jour...)
    0
    1. JF24
       
      ok, de toute façon, ça me suffit largement!

      merci beaucoup

      JF
      0
    2. JF24
       
      As tu remarqué Eriiic, que quand on fait F9 (actualisé), les commentaires se copie sur les autres feuilles (feuil2, feuil3 ect...)
      est ce que tu aurais une solution?

      merci

      JF24
      0
  11. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    C'est vicieux ça.... Non je n'avais pas remarqué.
    Voici un correctif :
    CopierAvecCommentaire.xls

    eric
    0
    1. JF24
       
      Re bonsoir Eriiic

      ça marche, mais le problème maintenant, si je fais cette formule sur la feuil1:

      =CopierAvecCommentaire(Feuil2!C6) ça ne marche pas

      Désolé

      Aurais tu une solution?

      Merci
      0
  12. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    essaie encore...
    CopierAvecCommentaire.xls
    0
    1. JF24
       
      Bonjour,
      Merci beaucoup Eriiic ça marche!

      merci
      JF24
      0
    2. JF24
       
      Bonjour, Eriic,
      Désolé, j'ai encore un petit souci.
      La formule fonctionne parfaitement, mais les commentaires des autres feuilles disparaisses ex...

      sur la feuil1 exemple: cellule A17 je mets 12 avec un commentaire
      sur la feuil2: je mets dans une cellule exemple C1 =CopierAvecCommentaire(A17) cela fonctionne parfaitement, mais le problème c'est que sur la feuil3, si en C1 j'ai déjà un commentaire ou que j'en rajoute un, il disparait ainsi que sur la feuil4 ect....

      Aurais tu un solution?

      merci encore

      JF
      0
    3. JF24
       
      J'ai oublié de te dire que j'ai rajouté :Range(AdrAppelFn).ClearComments
      dessous:AdrAppelFn = Parent.Caller.Address()
      pour que le commentaire disparaisse, quand la cellule original n'a plus de commentaire.

      merci

      JF24
      0
  13. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Pas sûr du résultat mais teste avec cette version modifiée :
    CopierAvecCommentaire.xls

    eric
    0
    1. JF24
       
      Merci beaucoup Eriic, ça marche!

      JF24
      0
  14. FiCuS
     
    Bonjour, Merci bien pour vos réponses, ça m'a beaucoup aidé. Cependant, j'ai un petit problème pour aller récupérer une info dans une autre feuille.

    Avec cette commande, je récupère bien ce que je j'ai en W9 de 3ème feuille:

    =CopierAvecCommentaire(Sheet3!W9)

    Comment faire pour remplacer le "9" par des coordonnés sur la feuille 1?
    Ça doit être un truc du style:

    =CopierAvecCommentaire(Sheet3!W(Sheet1!E14))

    Voyez vous ce que je veut dire?
    Merci d'avance pour vos réponses.
    0
  15. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Avec 9 en A1 :
    =CopierAvecCommentaire(indirect("Sheet3!W" & A1))
    devrait marcher.
    eric
    0
  16. jean-pierre34 Messages postés 22 Statut Membre 1
     
    Bonjour,

    Je relance le sujet car les liens sont inactifs et je ne suis par un pro d'Excel.

    Pour ma part je désire que le commentaire (voir la mise en forme) de la cellule source feuille 2 apparaisse dans ma cellule en rechercheV de la feuille 1

    Merci d'avance.

    Jean-Pierre
    0
  17. jean-pierre34 Messages postés 22 Statut Membre 1
     
    Merci Eric mais le lien est toujours inactif.
    Pour ma part toutes mes cellules de la base de donnée "feuille 2, 3 Etc" sont avec commentaire
    0
  18. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Voici un fichier exemple
    http://www.cijoint.fr/cj200802/cij9647554393600.xls

    Cependant il reste un pb auquel je n'avais pas pensé c'est si la cellule à copier n'a pas de commentaire.
    Pour l'instant je butte sur un pb à-priori simple : comment détecter qu'une cellule n'a pas de commentaire... :-s
    Si toutes tes cellules en ont un tu peux y aller.

    eric
    -1
    1. Aline
       
      Eric il te suffit de tester :

      If Not CelluleMonProduit.Offset(0, i).Comment Is Nothing Then ...

      Aline
      0
      1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281 > Aline
         
        Bonsoir aline,

        Testé et approuvé ;-)
        Merci
        eric
        0
      2. novicelive Messages postés 2 Statut Membre > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour,
        J'ai suivi ce post avec interet il semble correspondre à ce que je souhaite réaliser mais effectivement en l'absence de commentaire comment avez vous résolue ce PB?
        Avez vous le petit bou de code complémentaire peut être?
        Celui ci copie t il le contenu de la cellule sans le commentaire, ou ce commentaire est supposé absent de la cellule source.
        Cordialement
        0