UP : inverser une valeur dans un LABEL

Bonjour à tous !! Ceci est un up, car je n'ai pas pu trouver de solution à mon problem

J'ai deux labels dans un Userform qui se remplissent automatiquement lorsque je sélectionne un nom dans un combobox.

Jusque là tout va bien.

Simplement, je voudrai que le signe de la valeur d'un de ces label s'inverse en function de ce qui est écrit dans l'autre label.

Ce sont des coordonnées que je converti de degrés minutes secondes à degrés décimaux.

Donc quand mon label 'orientation' (label45) affiche "S", je veux que mon label degrés décimaux (label58) affiche la valeur qui se trouve dans ma base de données mais en negative

La raison pour laquelle je fais cette macro c'est pour ne pas avoir à chercher dans ma table toutes les orientations Sud et mettre manuellement un - parce qu'il y a beaucoup de valeurs...

Mon code (qui merdouille ) :

Private Sub ComboBox3_Click()

    Label45.Caption = Worksheets("Liste_Villes").Cells(ComboBox3.ListIndex + 3, 5).Value
    Label58.Caption = Worksheets("Liste_Villes").Cells(ComboBox3.ListIndex + 3, 10).Value

End Sub

Private Sub Label45_Click()

    Label45.Caption = Worksheets("Liste_Villes").Cells(ComboBox3.ListIndex + 3, 5).Value

End Sub

Private Sub Label58_Click()

    Label58.Caption = Worksheets("Liste_Villes").Cells(ComboBox3.ListIndex + 3, 10).Value

If Label45.Caption = "S" Then
    Label58.Caption = -(Label58.Caption)
End If

End Sub

Sinon si vous avez une idée pour faire une function qui m'inverse directement la valeur dans ma table... J'arrive pas à la faire en tout cas, parce qu'il faut realizer le calcul (et déjà là ca me met #valeur) avec trois cellule et enfin inverser le signe selon si il y a un "N" ou un "S" dans la cellule ciblée de la meme ligne...

Le code que j'ai essayé de faire pour la function, sachant que Degrés, Minutes et Secondes sont les noms des colonnes :

Function Deg_Dec(ByVal Degrés As Long, ByVal Minutes As Long, ByVal Secondes As Long)
Dim Orientation As String

Minutes = Secondes / 60 + Minutes
Degrés = Minutes + Degrés

Deg_Dec = Degrés

If Orientation.Name = "S" Then
    Deg_Dec = -Deg_Dec
End If

End Function

Lorsque je rentre ma function dans une cellule quelconque, je prends les 4 cellules de la meme ligne qui m'intéressent et ça me met #VALEUR... Je sais plus quoi faire là !

Help

Merci d'avance

Et bonne journée

Bonjour

Peut être cela?

If Label45.Caption = "S" Then
    Label58.value = (Label58.value)*-1
End If

Je viens d'essayer, malheureusement ça ne marche pas non plus..

Rechercher des sujets similaires à "inverser valeur label"