Code VBA

gui2valmo

XLDnaute Nouveau
Bonjour à tous,

Débutant en VBA je butte sur un code que je n'arrive pas à modifier pour obtenir ce que je souhaite...
Si un pro pouvait m'éclairer je lui serais extrêmement reconnaissant ;)

J'ai un tableau avec en colonne A une ID de département, en colonne B le nom du département et en colonne C des données de performance (nb de rdv, nb de ventes, etc.) qui changent par liste déroulante. Tout ceci est lié à une carte de France sur laquelle les départements changent de couleur en fonction en fonction de la valeur en colonne C.

Le code qui me pose problème à pour objectif que lorsque je clique sur un département de la carte, le nom du département et son numéro s'affichent dans une text box.

==> Cela marche très bien mais je souhaite que la valeur en colonne C s'affiche également et c'est là que je butte...

Je pense que ce doit être tout simple mais malgré mes nombreux essais rien ne fonctionne...

Voici mon code (en rouge la partie qui affiche les infos) :

Sub Carte_Click()
Dim oSheet As Excel.Worksheet ' Feuille
Dim shpInfo As Shape ' Boîte de texte "Info"
Dim shpMap As Shape ' Formes de la carte
Dim strInfo, villeNum, villeNom As String
Dim i As Integer
Dim num As Long
Set oSheet = ThisWorkbook.Sheets("Carte")
Set shpInfo = oSheet.Shapes("info")

'Récupère le code de la ville
villeNum = Application.Caller

'Recherche la position du code de la ville dans le tableur et en récupère le nom
For i = 2 To oSheet.UsedRange.Rows.Count
If Range("A" & i).Value = Application.Caller Then
villeNom = Range("B" & i).Value
Exit For
End If
Next

'Affiche les nom et code de la ville
shpInfo.Select
strInfo = "Vous avez cliqué sur le département : " & Chr(12) & villeNom & " (" & villeNum & ")" & "je ne sais pas quoi mettre ici..."
Selection.Characters.Text = strInfo
With Sheets("Carte")
num = Application.Match(villeNom, .Range("B2", [B65635].End(xlUp)), 0)
.Select_Commune.ListIndex = num - 1
End With

' Parcourt les villes de la carte pour mettre en transparence la ville sélectionnée
For Each shpMap In oSheet.Shapes("CarteBasRhin").GroupItems
If shpMap.Name = Application.Caller Then
shpMap.Fill.Transparency = 0.6
Else
shpMap.Fill.Transparency = 0#
End If
Next
Range("C1").Select
End Sub
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Code VBA

Bonjour Gui2almo

essaie ceci:

'Recherche la position du code de la ville dans le tableur et en récupère le nom
For i = 2 To oSheet.UsedRange.Rows.Count
If Range("A" & i).Value = Application.Caller Then
villeNom = Range("B" & i).Value
perf= Range("C" & i).Value
Exit For
End If
Next

'Affiche les nom et code de la ville
shpInfo.Select
strInfo = "Vous avez cliqué sur le département : " & Chr(12) & villeNom & " (" & villeNum & ")" & perf
Selection.Characters.Text = strInfo
......................
.............

à+
Philippe
 

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch