Déplacer une zone de texte sur une image

Bonjour à toutes et à tous,

J'ai des requêtes mensuelles où je dois indiquer sur la carte de ma région les emplacements de mes chantiers. J'essaie via un tableau Excel de rendre cette tâche automatique.

J'arrive à faire une requête pour remplir le tableau présent (voir capture jointe), également à créer une zone de texte et de la remplir avec les informations nécessaires.

La partie que je n'arrive pas à câbler est de placer la zone de texte à l'emplacement de la commune via son code INSEE. A noter que sur ma carte chaque commune est une image indépendante qui à pour nom son code INSEE.

Est-il possible via du VBA de déplacer ma zone texte sur la commune? Ou avez-vous une solution alternative?

Merci par avance de votre aide et je reste à votre disposition si vous avez besoin de plus d"informations.

Cependant, il m'est impossible de vous fournir mon fichier excel car celui-ci contient des données sensibles.

Cordialement

1

Bonsoir Groot,

screen 1

j'passe juste pour te signaler qu't'as fait 2 erreurs dans ta signature !

c'est : « Je m'appelle Gru » (moi, moche et méchant = despicable me)

"... ah non, pardon ; j'ai confondu avec lui :"
screen 2

bon, ben dans c'cas, t'as fait qu'une seule erreur dans ta signature

dhany

Euh ... ha bon ! t'es sûr ?

Explique moi l'erreur...

??? tu veux dire que Groot dit réellement « Je s'appelle Groot » et pas « Je m'appelle Groot » ?

??? tu veux dire que Groot dit réellement « Je s'appelle Groot » et pas « Je m'appelle Groot » ?

Tu n'as vraiment pas vu les gardiens de la galaxie ???

https://www.youtube.com/watch?v=P0VNuNr5aYg

non, mais faudra qu'j'le regarde, un d'ces jours : ça a l'air drôlement bien !

merci pour le court extrait d'vidéo !


et t'as raison : Groot dit bien : « Je s'appelle Groot »

dhany

Petit HS du coup mais pour l'explication, il dit "je s'appelle Groot" et non pas je "m'appelle Groot" car c'est un petit arbre mignon qui ne parle pas très bien la langue

En espagnol il dit aussi "Yo soy groot" ce qui n'est pas très juste aussi car les Espagnols utilisent peu le pronom

Voili

coucou Pikipeanut ! merci pour l'complément d'info !

dhany

bonjour

un outil d'Excel : Power Map

https://support.office.com/fr-fr/article/g%C3%A9ocoder-vos-donn%C3%A9es-power-map-3857c274-1a44-4020-876a-398fecee70e7

mais il faut avoir Excel 365 pro

Je te conseille d'essayer Power BI Desktop qui possède le même outil, et qui est... gratuit !

PBI peut aspirer tes données Excel et les mettre sur une carte dynamique.

il FAUT que tu essayes

multiples tutos sur Youtube

Bonjour,

@ jmd,

Disponible avec MS Office 2016 Professionnel plus !...

Cdlt.

Bonjour jmd,

Merci pour ton aide, j'ai réussi à coder quelque chose qui fonctionne ... je pense qu'il est possible de faire mieux.

  • Je contrôle en premier lieu la position de l'image de la commune
  • Je créé ma zone de texte
  • J'indique les mêmes coordonnées que la commune et c'est bon
Dim FeuilleCarte As String
Dim ligne As Double
Dim LeftCart As String
Dim TopCart As String
Dim txtBx As Shape
Dim INSEE As String

Sub test_macro()

FeuilleCarte = Sheets("Page_Données").Range("B22").Value
ligne = 6
Sheets(FeuilleCarte).Activate

While Worksheets(FeuilleCarte).Range("T" & ligne).Value <> ""

        If Worksheets(FeuilleCarte).Range("T" & ligne).Value <> "" Then

                INSEE = 0
                INSEE = Range("V" & ligne).Value
                LeftCart = Sheets(FeuilleCarte).Shapes(INSEE).Left
                TopCart = Sheets(FeuilleCarte).Shapes(INSEE).Top

    Set txtBx = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 80, 35)
        txtBx.Name = "Repère " & Sheets(FeuilleCarte).Range("S" & ligne).Value
        txtBx.TextFrame.Characters.Text = "Repère " & Sheets(FeuilleCarte).Range("S" & ligne).Value & vbCrLf & Sheets(FeuilleCarte).Range("T" & ligne).Value
        txtBx.Line.ForeColor.RGB = RGB(255, 0, 0)
        txtBx.Fill.ForeColor.RGB = RGB(255, 255, 255)

        Sheets(FeuilleCarte).Shapes("Repère " & Sheets(FeuilleCarte).Range("S" & ligne).Value).Left = LeftCart
        Sheets(FeuilleCarte).Shapes("Repère " & Sheets(FeuilleCarte).Range("S" & ligne).Value).Top = TopCart

    End If
    ligne = ligne + 1

Wend

If Worksheets(FeuilleCarte).Range("T" & ligne).Value = "" Then
End If

End Sub
Rechercher des sujets similaires à "deplacer zone texte image"