Excel, recherchev, Comment récupérer le commentaire de la source

Fermé
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 - 7 mars 2017 à 21:22
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 - 17 mars 2017 à 20:56
Bonjour,

Je relance le sujet car les liens d'un sujet résolu sont inactifs, je ne suis par un pro d'Excel merci pour vos réponses et compréhension.

Je désire que le commentaire (voir la mise en forme) de la cellule source feuille 2, 3, etc, apparaisse dans la cellule en rechercheV de la feuille 1.
Pour indication toutes les cellules de la base de donnée "autre que la feuille 1" ont un commentaire.

Salutations.

Jean-Pierre


A voir également:

4 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 mars 2017 à 21:39
Bonjour,

Je désire que le commentaire (voir la mise en forme) de la cellule source ...apparaisse dans la cellule en rechercheV de la feuille 1.
Sauf que cette fonction ne s'occupe que de la valorisation de la cellule.
Si tu trouves à rapatrier le commentaire et le format autrement qu'avec une macro, tu vas être adulé sur les forums.
2
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
7 mars 2017 à 23:53
Oui ! et peut-être même embauché par Microsoft !
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1
8 mars 2017 à 18:00
Bonjour et merci pour la réponse, OK pour la mise en forme avec macro mais je pensais pouvoir faire plus simple avec le commentaire, la mise en forme est vraiment secondaire.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 mars 2017 à 18:09
bonjour,

OK pour la mise en forme avec macro
Tu n'as pas l'air de te rendre compte, qu'il faut totalement reprogrammer la RECHERCHEV uniquement pour ramener les commentaires et le format ?
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
8 mars 2017 à 21:53
Tu n'as pas l'air de te rendre compte oui en effet comme je l'ai indiqué je ne suis pas un pro en bureautique.

Pas grave je me serais contenté d'une solution simple et rapide.

Merci de l’intérêt que vous avez portés à ma demande.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 mars 2017 à 22:12
je me serais contenté d'une solution simple et rapide
Une RECHERCHEV doit rechercher d'une façon très précise dans une plage avec retour d'un élément différent de celui recherché.
Il faut contrôler toutes les erreurs de paramétrage.
Il faut dans ton cas retourner valeurs, formats commentaires.
Pour que cela fonctionne correctement, il faut y passer des heures.
Ne penses-tu pas que si c'était simple, cela serait intégré à excel ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
9 mars 2017 à 10:10
Bonjour jean-pierre34,

Je n'ai pas réécrit RECHERCHEV mais avec cette macro événementielle, tu devrais pouvoir retrouver les commentaires et les formats de tes RECHERCHEV.
La macro est à copier dans la feuille concernée.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, sel As Range, elm
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each cel In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
    If Left(cel.Formula, 8) = "=VLOOKUP" Then
        elm = Split(cel.Formula, ",")
        Set sel = Range(elm(1)).Find(Range(Mid(elm(0), InStr(elm(0), "(") + 1)), , xlValues, xlWhole)
        If Not sel Is Nothing Then
            sel.Offset(0, elm(2) - 1).Copy
            cel.PasteSpecial Paste:=xlPasteComments
            cel.PasteSpecial Paste:=xlPasteFormats
        End If
    End If
Next cel
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1
9 mars 2017 à 21:05
Merci gbinforme, je serais absent ces prochains jours, je fais un essais en début de semaine prochaine et si je n'y parviens pas je vous vous met un exemple de mes feuilles.
Bon week-end.
Encore merci pour vos réponses.
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1
Modifié par jean-pierre34 le 15/03/2017 à 23:21
Bonsoir gbinforme,
Après plusieurs tentative rien ne fonction, je suis juste arrivé a valider cette macro mais rien ne change dans ma cellule en recherchev de la feuille 1, pourtant j'ai bien enregistré la macro dans la cellule de ma feuille 16 qui correspond au résultat de la recherche.?

Sub Macro10_142_3_26()
'
' Macro10_142_3_26 Macro
' COMMENTAIRE
'
'
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, sel As Range, elm
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each cel In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
If Left(cel.Formula, 8) = "=VLOOKUP" Then
elm = Split(cel.Formula, ",")
Set sel = Range(elm(1)).Find(Range(Mid(elm(0), InStr(elm(0), "(") + 1)), , xlValues, xlWhole)
If Not sel Is Nothing Then
sel.Offset(0, elm(2) - 1).Copy
cel.PasteSpecial Paste:=xlPasteComments
cel.PasteSpecial Paste:=xlPasteFormats
End If
End If
Next cel
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

'
Option Explicit
'
ActiveCell.Comment.Text Text:="JP Ramirez:" & Chr(10) & "46=44,7m"
ActiveCell.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
Selection.Font.Underline = xlUnderlineStyleNone
Selection.Font.Bold = True
End Sub


Il m'a fallu enlever Option Explicit de ta macro
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
16 mars 2017 à 09:09
Bonjour,

Pour utiliser les macros, il faut beaucoup de rigueur et là, tu as cuisiné un savant mélimélo à ta façon qui ne risque pas de fonctionner.

par exemple Il m'a fallu enlever Option Explicit de ta macro
évidemment, c'est une option qui ne doit figurer qu'en tête de module !
Tu as copié ma macro en plein milieu de la tienne, cela n'a ni queue ni tête.

Je pense que ce n'est pas la peine de perdre notre temps dans ces conditions qui n'ont pas plus de chance d'aboutir que de gagner le gros lot au loto.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
16 mars 2017 à 13:37
Bonjour,

comme dit gb il faut essayer de comprendre avant de modifier. Et lire les tutos sur le B.A.BA de vba, c'est le minimum.

Ceci dit une proposition sous forme de fonction personnalisée.
J'émule Recherchev(), mais que pour recherche de valeur exacte.
Et je profite d'un bug excel (une fonction personnalisée normalement ne peut pas modifier son environnement) pour ramener également les couleurs texte en plus du commentaire.
https://mon-partage.fr/f/lc5ckS62/
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
16 mars 2017 à 21:12
Bonsoir Éric,

Bien vu, tu reprogrammes excel en mieux !

Petit bémol, tu as remis 'Option Explicit' : çà va pas fonctionner. ;-)
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
16 mars 2017 à 21:46
Je suis désolé de vous avoir fait perdre du temps tout en vous remerciant pour vos réponses pourtant j'ai passé un peu de temps sur différents tutos mais surement pas assez.
Pour l'instant je me contenterai d'ouvrir la feuilles source après la recherche pour trouver le commentaire en attendant de mieux apprendre avec le lien d'Eric et un peu plus de temps libre ou avec l'aide physique d'un ami,
Comme je l'ai écrit au début je ne suis vraiment pas un pro "honte à moi".
Sincères salutations.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
17 mars 2017 à 00:46
Ah ben je l'ai mis qu'une fois et au bon endroit. C'est pour le forcer à prendre les bonnes habitudes ;-)
@jean-pierre
tu copies la fonction dans un module standard.
Ensuite tu l'utilises comme une fonction d'excel, à l'identique de la formule en A2
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
16 mars 2017 à 22:16
Bonsoir,
Comme je l'ai écrit au début je ne suis vraiment pas un pro "honte à moi".
Il n'y a aucune honte à avoir car tout le monde commence avec de faibles connaissances et même sans savoir mettre un pied devant l'autre pour marcher.
Au final l'on apprend à marcher et à faire plein d'autres choses mais il n'est jamais possible de tout savoir dans tous les domaines, alors bon courage dans ton apprentissage et tu pourrais essayer d'intégrer la fonction d'Éric qui fait ce que tu souhaites.
Continues et l'on te fournira un coup de pouce.
0
jean-pierre34 Messages postés 21 Date d'inscription mercredi 26 décembre 2012 Statut Membre Dernière intervention 17 mars 2017 1
Modifié par jean-pierre34 le 17/03/2017 à 20:57
Ok Merci, je reprendrai çà dans la semaine.
Bon week-end.
0