Mettre un commentaire lorsque je passe sur une cellule

Bonjour à toutes et tous,

J'ai crée un fichier excel qui a pour but de rechercher, via un recherchev, des références dans une base de données.

Par exemple A2 : "Référence 0001200"

Je possède plus de 900 références et je souhaiterai avoir plus de détails qu'une simple référence dans ma cellule.

Evidement il est possible de concatener plusieurs recherchev mais mettre de nombreux détails dans une cellule rend cette dernière difficile à lire.

Idéalement, je souhaiterai n'avoir que la référence qui apparait dans les cellules (comme actuellement) mais que lorsque l'utilisateur passe sur la cellule, un commentaire s'affiche avec les différents détails souhaités.

Est-ce quelqu'un a une idée ?

Bonsoir

Avec une macro

Merci beaucoup pour ce code, c'est exactement ce que je voulais.

Je vais essayer de recopier ton code dans mon fichier excel et je te tiendrai au courant de l'efficacité.

Pour tout te dire je ne connais rien au langage VBA.

-- 25 Avr 2011, 17:21 --

Banzai64,

Puis-je t'envoyer mon fichier pour que tu me dise si c'est transposable ?

Moi j'aimerai que le commentaire s'affiche sur la même cellule que le résultat.

Dans ton exemple, le commentaire devrait apparaitre sur la case des jours.

Bonjour

Aucun souci tu peux poster ton fichier (sans données personnelles) et on pourra voir comment solutionner ton problème

A suivre

Bonne soirée

Bonsoir à tous,

Bonsoir Banzai64,

Je profite du poste pour savoir s'il est possible dans le commentaire en H7

de mettre l'alignement du texte en taille automatique,

(dans le cas d'un texte un peu long)

j'ai essayé d'ajouter .Comment.AutoSize = True

mais çà ne marche pas !

Bonne soirée

Claude

édit: Merci Mytå pour ta réponse + bas, çà fonctionne nickel !

Salut le forum

Claude, le code pour répondre à ta demande

With Range("H7")
  .ClearComments
  .AddComment
    With .Comment
      .Visible = False
      .Text Text:=Range("Jours").Cells(Lg, 2) & vbLf & Range("Jours").Cells(Lg, 3)
        With .Shape
          With .TextFrame
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlTop
            .ReadingOrder = xlContext
            .Orientation = msoTextOrientationHorizontal
            .AutoSize = True
          End With
        End With
    End With
End With

Mytå

Bonjour,

Merci à tous les deux de votre aide mais je galère toujours autant avec "mon" fichier.

Je vous fait joindre le fichier en question.

Le but : lorsque l'utilisateur va cliquer sur une cellule (B81 par exemple), en commentaire doit s'afficher la désignation qui correspond au numéro dans la cellule. Cette désignation se trouve dans les onglets du classeur.

Par exemple : En B81, je ne veux voir que le numéro 61000******.

Lorsque je clique dessus, je veux qu'il recherche dans l'onglet 163 la désignation (dernière colonne du tableau) qui correspond au numéro 61000*******.

Note : L'onglet 163 correspond au deux première colonne

L'onglet 164 correspond au deux colonne suivantes etc...

Salut

code à placer dans le module de la feuille "Picking" et à tester

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim n As Byte, Trouve As Range
    For n = 2 To Sheets.Count
        Set Trouve = Sheets(n).[D:D].Find(Left(Target, 10))
        If Not Trouve Is Nothing Then
            With Target
                .ClearComments
                .AddComment
                .Comment.Visible = False
                .Comment.Text Text:=Trouve.Offset(, 5).Value
                Exit Sub
            End With
         End If
     Next
End Sub

Je fais un copier coller de ton code mais ca donne des messages d'erreurs.

J'ai aussi essayer en mettant sub picking () devant et toujours rien!

-- 26 Avr 2011, 17:19 --

Quelqu'un à une autre idée ?

HELP

Ce message s'adresse à Banzai 64 à propos du fichier "MEL commentaire auto V001.xls".

J'ai créé une feuille dont le but est de gérer un planning de salles dans un établissement scolaire.

En haut deux lignes, une avec le numéro des salles et une autre avec leur capacité(nombre d'élèves pouvant être accueillis)

A gauche une colonne avec les jours et heures de la journée notées M1, M2, etc.

Chaque cellule porte le nom du prof, celui de la classe et la matière (tout ça concaténé et copié depuis une autre feuille). On déplace ces cellules comme on déplacerait des fiches en carton sur un tableau de planning à fiches.

De plus dans Private Sub Worksheet_SelectionChange() j'ajoute à chaque cellule non vide et en commentaire l'effectif de la classe sélectionnée (pour comparer cet effectif avec la capacité de la salle), et c'est là lorsque je déplace une cellule, la fonction Annuler est grisée, elle n'est plus accessible. Or je souhaite que l'utilisateur puisse revenir en arrière.

J'ai aussi voulu protéger la feuille mais alors les commentaires n'apparaissent plus du tout, peut-être est-ce lié.

Dans mes recherches sur internet je suis tombé sur votre fichier, et là les déplacements de H7 sont réversibles mais je n'ai pas pu l'adapter à mon projet car je n'ai pas besoin de la cellule F4 (choisir le jour de la semaine) et sans cette instruction "If Target.Address = "$F$4" Then..." je ne peux toujours pas annuler un déplacement de cellule. Mais j'ai remarqué que si j'enlève cette instruction de votre fichier, c'est pareil ! Annuler est grisé. La protection ne se passe pas bien non plus.

Je cale sur ce problème depuis trop longtemps. J'ai trouvé beaucoup de manières de placer un commentaire sur une cellule. La votre m'a plu pour sa simplicité car .je n'ai pas eu de formation dans ce domaine. Alors si vous aviez une explication à me donner, ça m'arrangerait vraiment car comme beaucoup d'entre nous je n'aime pas rester sur un échec.

Merci d'avance.

Bonjour et bienvnue

J'aime bien que la personne qui intervient dise "Bonjour" (au moins 1 fois par jour) cela me fait penser que l'on est dans pays un tant soit peut civilisé

D'après mes connaissances je ne pense pas que cela soit la protection qui bloque l'annulation mais plutôt les évènements qui décleche une macro

Dans ton cas cela serait "Private Sub Worksheet_SelectionChange()" qui inhibe "Annuler"

Mais je ne suis pas un expert et cela m'arrive de me planter

Ton fichier dans lequel tu auras noté ce que tu veux exactement serait utile

Bonsoir, merci de ta réponse rapide. Ce que je veux, c'est pouvoir annuler les déplacements de cellules dans la feuille "Salles"

et éventuellement protéger la feuille sans perdre les commentaires de cellules.

Merci d'avance

15gestionsalles-1.zip (47.15 Ko)

Bonsoir

Pour l'annulation il faudrait monter tout un barnum pour annuler les déplacements

Tu n'aurais pas ta macro évènementielle Worksheet_SelectionChange(ByVal Target As Range) la question ne se poserait pas

Pour la protection c'est possible si dans les options de protection tu côches "Modifier les objets"

option de protection modifier les objets

Bonjour,

Merci pour la réponse à propos de la protection de la feuille. Je n'ai pas la même boîte de dialogue pour la protection (question de version sûrement) mais ça marche. J'ai décoché "Objets"

protection 2000

Par contre, je ne peux pas me passer de la macro SelectionChange car c'est elle qui calcule le commentaire attaché à chaque cellule et qui vérifie les erreurs de doublons.

Sur ton fichier aussi tu gères les commentaires dans une macro "Change", pourtant on peut annuler un déplacement de H7 SAUF SI.....

on enlève l'instruction "If Target.Address = "$F$4" Then..." Annuler est alors grisé. (voir message antérieur)

ça m'a l'air très subtil tout ça, avec un peu de chance, on trouvera bien quelqu'un...

Cordialement

Bonjour

Ma macro n'est active qu'à la modification de la cellule F4

Tu peux déplacer des cellules et annuler si tu veux tant que tu ne sers pas de la cellule F4

Toi ta macro est utilisée pour n'importe quelle cellule c'est pour ça qu'elle "supprime" les annulations

Bonsoir,

Effectivement, avec n'importe quelle cellule ça ne marche pas comme avec une seule. J'ai essayé avec Données - Validation - Message de saisie, c'est pareil... Il semble qu'il y ait d'autres "paramètres" mais là je tourne en rond... en attendant qu'un génial internaute lise nos posts et me dépanne (ou pas)

Je vais me reposer un peu !

Au revoir

Bonsoir

Ce que je te propose

On oublie ta procédure Sélection_Change

On utilise Activate

Quand tu vas sur la page "Salles" cet évènement se déclenche

Cette macro ajoute un commentaire à toutes les cellules, comme cela tu veux voir l'effectif sans passer par l'autre évènement

Ainsi tu peux déplacer tes cellules et surtout annuler

Un seul inconvénient : Tu ne peux pas avoir en direct si des erreurs de placement

Tu devras impérativement passer par le bouton "Contrôle Erreurs"

Pas mieux

Bonjour,

Formidable, Merci beaucoup!

Non seulement ça marche mais en plus j'ai rétabli la procédure SelectionChange() et j'ai en plus tous mes Msgbox signalant doublons et impossibilités de salle, il faudrait seulement que j'arrive à les limiter à un seul quand il y a plusieurs erreurs.

Quand on met un doigt dans un engrenage... on connaît la suite.

Bonne journée.

Bonjour

Détailles les opérations à faire pour avoir plusieurs messages

Quand je déplace une cellule et si doublon, j'ai seulement 1 message

Bonsoir,

Je ne sais pas ce qui se passe avec ton ordinateur, Banzai64. J'ai compris que tu n'as qu'un seul msgbox même s'il y a plusieurs erreurs, par exemple Doublon de Nom + doublon de Classe.

Chez moi c'est tout le contraire, ça n'arrête pas de "msgboxer", alors j'ai installé comme un compteur de messages qui bloque à 1 seul message affiché, même s'il y a plusieurs erreurs et ça marche SAUF QUE

quand par exemple je déplace "NomA51Fra" de D10 en F8, puis de F8 en E41, puis de E41en D8 et que par la suite j'annule ces déplacements, chacun des Msgbox apparaît 2 fois ! Donc il faut cliquer 2 fois et ça ne devrait pas exister n'est-ce pas?.

Voilà encore une subtilité qui m'échappe. J'aurais aimé apprendre l'informatique quand j'étais jeune avec des profs mais ça n'existait pas à cette époque, c'est dur d'être un autodidacte.

Je verrai plus tard à ce que quand on revient de la macro "Controle erreurs" ça ne "reclaque" pas trop de fois non plus. Pour l'instant c'est bancal.

Merci si tu peux m'aider

Bonne soirée.

PS : Je fais ce classeur pour un parent, le but du jeu est de gérer des changements d'emploi du temps et donc de salles. Je me dis que dans le feu de l'action, il se pourrait qu'il ne tienne pas compte des Msgbox d'où la vérification finale par "Contrôle des erreurs", c'est une sorte de sécurité.

Rechercher des sujets similaires à "mettre commentaire lorsque passe"