Cette macro doit me servir à progresser en paléographie
But : Avoir dans une feuille des images de mots du XVIeme et voir en infobulle son sens (sa transcription) quand on passe le curseur de la souris dessus
Dans un dossier j’ai mis des captures de mots de textes anciens. Ce sont des fichiers jpeg. J’ai mis dans les cases d’une feuille excel les noms de ces fichiers (ex dans une case il y a « sieur » ; dans le dossier des images il y a un fichier « sieur.jpg ».
Je veux deux choses principales :
1) Que la macro affecte un commentaire à la cellule de telle façon qu’en passant le curseur sur la cellule (lorsqu’elle contiendra l’image correspondante) une infobulle m’affiche la transcription (ici : « Sieur » en commentaire.)
2) Qu’elle place correctement l’image dans la cellule (Sieur.jpg dans la cellule qui contient le mot « Sieur » en adaptant l’image aux dimensions de la cellule sans la déformer.
On m’ai dé sur ce forum à faire la macro (on me l’a faite avec beaucoup de gentillesse). Elle crée bien les commentaires de chaque cellule mais elle introduit plusieurs fois les mêmes images (surtout dans les premières cellules à gauche de la zone sélectionnée ; si je sélectionne une zone de 9 cellules, (3X3)elle place 18 images dont 12 dans la première colonne ! et elle ne les dimensionne pas comme souhaitée. Si quelqu’un voit comment résoudre cela, je suis preneur.
Voilà la macro :
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ' cette macro insère les commentaires et les images (il faut changer le répertoire de celles-ci (adapter) Sub versComm() Dim X, Nom, repertoirePhoto As String Dim Cell As Range Dim Img As Shape repertoirePhoto = "C:\Users\Dominique\Pictures\tousles mots\" ' Adapter On Error Resume Next ' pour évite l'arrêt de la macro si le nom ne correspond pas à une image valide With ActiveSheet For Each Cell In Selection X = Cell.FormulaR1C1 ' place le contenu de la cellule dans la variable X Cell.AddComment ' ajoute l'objet commentaire Cell.Comment.Visible = False 'le commentaire sera masqué Cell.Comment.Text Text:=X 'place le contenu de X dans l'objet commentaire Nom = X .Pictures.Insert(repertoirePhoto & Nom & ".jpg").Name = Nom .Shapes(Nom).Left = Cell.Left .Shapes(Nom).Top = Cell.Top .Shapes(Nom).LockAspectRatio = msoTrue .Shapes(Nom).Height = Cell.Height .Shapes(Nom).Width = Cell.Width 'Cell.Value = "" ' à activer au besoin pour vider la cellule Next End With End Sub
DOMIMARE
Partager