Inverser une valeur en fonction d'un LABEL

Bonjour à tous !!

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.Value = "S" Then
    Label58.Value = -Label58.Value
End If

End Sub

Merci d'avance

Et bonne journée

Bonjour,

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

Ceci devrait fonctionner.

Good luck

Gelinotte

Je viens d'essayer et ça ne change pas le résultat malheureusement

Peut-être que je devrais rentrer une function pour avoir directement les valeurs negatives dans ma table mais je ne vois pas du tout comment faire.

Sachant que ma formule utilise 3 cellules pour le calcul et sur la meme ligne j'ai une cellule avec un "N" ou un "S"

J'ai essayé de rentrer une fonction mais ça me met #valeur à chaque fois..

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

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

Deg_Dec = Degrés

End Function

Dans ce code la function ne prend pas en compte la letter "N" ou "S" de la cellule de la meme ligne parce que je ne vois pas comment l'écrire

C'est embêtant la solution doit pas être compliquée...

Rechercher des sujets similaires à "inverser valeur fonction label"