Bulle

Fermé
nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017 - Modifié par nathalieayala le 9/06/2015 à 15:41
nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017 - 11 juin 2015 à 00:18
Bonjour à tous,

Je voulais savoir si quelqu'un d'entre vous avait une astuce autre que celle "d'insérer un commentaire" dans une cellule.

Je m'explique un peu mieux : comme je n'aime pas faire comme tout le monde, dans mon tableau à la cellule C25, je voudrais en la survolant voir apparaître une bulle sympa style bande dessinée ou autre où l'on pourrait lire une info que je changerai selon mes besoins.
Je suppose qu'il faut passer par un code VBA qu'évidemment je ne sais pas faire...

Bon après midi à vous
Nathalie

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
9 juin 2015 à 15:42
Bonjour,

Même si à titre perso je ne trouve pas cela tip top, ça a le mérite d'exister...
Donc, voici un Fichier exemple.
0
nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017
9 juin 2015 à 16:01
Bonjour Franck,

Déjà merci de ta réponse.

Je dois surement omettre de faire quelque chose car ça ne marche pas, j'écris la formule avec les coordonnées de la cellule et il me marque #NOM? dans la C25.
Quand je survole ta feuille excel, rien ne se passe non plus.
Quelle manipulation n'ai je donc pas pensé à faire ?
Je ne l'ai pas notifié dans se post mais je ne travaille sur excel que depuis 8 jours, je commence à faire des tableaux de plus en plus complexes avec formules, macros et code vba mais comme dans toute formation accélérée, il y a des choses évidentes que je ne pense pas encore à faire.

Merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017
9 juin 2015 à 16:11
1- tu ouvres le fichier
2- tu actives les macros
3- tu survoles la cellule.
Ne change rien au fichier donné c'est juste un exemple...
0
nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017
9 juin 2015 à 18:35
C'est exactement ça que je veux mais je mettrais une bulle plus sobre tu as raison ça fait un peu kitch :-)
Mais ce n'est pas grave maintenant que j'ai commencé, je veux aller au bout de mon idée, si je ne m'en sers pas cette fois ci, j'aurai au moins appris une nouvelle chose.
Comment puis je à présent réaliser moi même la même procédure dans mon tableau s'il te plait ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
10 juin 2015 à 07:45
Bonjour,

Pour réaliser ceci :
1- ouvre ton fichier ;-)
2- Utilise l'enregistreur de macro pour enregistrer l'action suivante :
3- action : dessine ta bulle avec l'outil Insertion/Formes
4- tape ALT+F11 => ouverture d'une fenêtre Visual Basic Editor
5- dans cette fenêtre, sur la gauche, tu trouveras Modules avec, en double cliquant, dedans un module nommé Module1
6- double clic sur Module1 pour obtenir le code
6b- le code ressemble à ceci :
Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveSheet.Shapes.AddShape(msoShapeCloudCallout, 219, 206.25, 315, 128.25). _
        Select
End Sub


Qui signifie : dans les objets Shapes de la feuille active (ActiveSheet.Shapes), ajoute une forme (AddShape) et entre parenthèses, les différents paramètres de cette forme :
msoShapeCloudCallout = le style de la forme (ici le nuage proposé dans mon exemple)
219 = Left (distance par rapport au bord gauche)
206.25 = Top (distance par rapport au bord haut)
315 = Width (largeur de l'objet)
128.25 = Height (hauteur de l'objet)

7- renomme cette macro, en remplaçant :
Sub Macro1()

par :
Public Function AfficheMoi()

normalement le End Sub a été remplacé par End Function. Si c'est pas le cas, fais le.
8- change les paramètres Left et Top pour afficher l'objet ou tu le souhaites.
pour l'exemple, j'ai utilisé les mêmes propriétés (Left, top et Width) de la cellule.
J'ai donc supposé que :
- le Left de l'objet = Left de la cellule + Width de la cellule
- le top de l'objet = top de la cellule - Height de l'objet
Ce qui te donne un code ressemblant à ceci :
Public Function AfficheMoi()
ActiveSheet.Shapes.AddShape(msoShapeCloudCallout, [C25].Left + [C25].Width, [C25].Top - 149.25, 258, 149.25).Select
End Function

9- Création de la fonction de suppression de l'objet :
ATTENTION : Il ne doit pas y avoir d'autres formes ni/ou images dans la même feuille, sous peine de suppression.
Si c'est le cas, dis le on avisera

Sous la fonction que tu viens d'écrire, après son End Function, copie/colle ce code :
Public Function SupprimeMoi()
Dim Sh As Shape
 For Each Sh In ActiveSheet.Shapes
   Sh.Delete
 Next
End Function

10- retourne sous ta feuille en fermant la fenêtre Visual Basic.
11- dans la cellule concernée, inscrit la formule :
Si la cellule ne contient rien :
=LIEN_HYPERTEXTE(AfficheMoi();"")
Si la cellule contient quelque chose :
=SI(ESTERREUR(LIEN_HYPERTEXTE(AfficheMoi()));CONTENU_DE_LA_CELLULE;CONTENU_DE_LA_CELLULE)
12- dans toutes les cellules voisines :
Si la cellule ne contient rien :
=LIEN_HYPERTEXTE(SupprimeMoi();"")
Si la cellule contient quelque chose :
=SI(ESTERREUR(LIEN_HYPERTEXTE(SupprimeMoi()));CONTENU_DE_LA_CELLULE;CONTENU_DE_LA_CELLULE)

Et voilà, en 12 étapes!

Je reviens dans quelques instants avec une méthode plus simple...
0
nathalieayala Messages postés 11 Date d'inscription dimanche 7 juin 2015 Statut Membre Dernière intervention 8 janvier 2017
11 juin 2015 à 00:18
Bonsoir Franck,

Je viens de prendre connaissance de ton message.

Il est tard, je suis claquée mais je n'ai pas résister à l'envie de mettre ta procédure en pratique.
Bien m'en a pris, c'est trop classe !!!!!!

J'ai quasiment réussi une bulle est enfin apparue :-) ......

Je réessaierai demain pour la faire parfaitement et pouvoir dire "une chose de plus que je sais faire".

Je tenterai également de tester ta seconde méthode

Merci infiniment pour ton dévouement et ta patience.
Au plaisir de te relire
Nathalie
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
10 juin 2015 à 14:17
J'avais promis plus simple, voici la méthode (expliquée dans le fichier) avec 2 labels invisibles...

https://www.cjoint.com/c/EFkmrLk5BtV
0