A voir également:
- VBA programme qui calcul une chaine de caract
- Calcul moyenne excel - Guide
- Chaine tnt gratuite sur mobile - Guide
- Programme demarrage windows 10 - Guide
- Plus de chaine tv - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
1 réponse
f894009
Messages postés
17209
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 décembre 2024
1 711
20 juil. 2012 à 09:59
20 juil. 2012 à 09:59
Bonjour,
exemple de code pour 3 nombres, que vous pourrez faire evoluer pour x nombres
Bonne suite
exemple de code pour 3 nombres, que vous pourrez faire evoluer pour x nombres
Function NB_HA(Nb As Variant) Dim Nb As Variant, Chaine As Variant If IsNumeric(Nb) Then 'NB_HA est égale a cette valeur à laquelle on se débarrasse du signe + 'en lui effectuant une opération "*1 +0 " NB_HA = (Nb * 1) + 0 Else Chaine = UCase(Nb) If InStr(1, Chaine, "+") > 0 Then Carcherch = "+" ElseIf InStr(1, Chaine, "X") Then Carcherch = "X" Else MsgBox "erreur d'operateur!!!!!!" Exit Function End If pos = 0 pos1 = 0 pos2 = 0 For i = 1 To Len(Chaine) pos = InStr(i, Chaine, Carcherch) X = Val(Left(Chaine, pos - 1)) debut = pos + 1 i = debut pos1 = InStr(i, Chaine, Carcherch) If pos1 = 0 Then y = Val(Mid(Chaine, debut, Len(Chaine))) Exit For Else y = Val(Mid(Chaine, debut, pos1 - debut)) End If debut = pos1 + 1 i = debut pos1 = InStr(i, Chaine, Carcherch) If pos2 = 0 Then z = Val(Mid(Chaine, debut, Len(Chaine))) Exit For Else z = Val(Mid(Chaine, debut, pos1 - debut)) End If 'a continuer pour un nombre suivant Next 'Calcul en fonction des valeurs de x,y,z If Carcherch = "+" Then NB_HA = X + y + z ElseIf Carcherch = "X" Then If X > 0 And y > 0 And y > 0 Then NB_HA = X * y * z ElseIf X < 1 And y > 0 And z > 0 Then NB_HA = y * z ElseIf X < 1 And y < 1 And z > 0 Then NB_HA = z ElseIf X < 1 And y > 0 And z < 1 Then NB_HA = y ElseIf X > 0 And y < 1 And z < 1 Then NB_HA = X ElseIf X > 0 And y < 1 And z > 0 Then NB_HA = X * z ElseIf X > 0 And y > 0 And z < 1 Then NB_HA = X * y ElseIf X < 1 And y < 1 And z < 1 Then NB_HA = 0 Else End If Else End If End If End Function
Bonne suite
23 juil. 2012 à 18:54