Aide pour écrire une fonction SI à plusieurs conditions

re, je t'ai envoyé un Mail, as tu reçu

Re,

Voir la fonction personnalisée revue.

Il faudra évidemment remplacer les numéros client par les vrais noms...

Bonjour M12,

Cool, tu prends la relève.

Je ne pense pas que le SIERREUR soit nécessaire.

Cdlt.

Option Explicit

Public Function NBJC(Client, CA As Double) As Long

  Application.Volatile

    If Client = "" Or CA = 0 Then
        NBJC = 0
        Exit Function
    End If

    Select Case Client
        Case 1
            Select Case CA
                Case Is < 5000: NBJC = 8
                Case Is < 15000: NBJC = 20
                Case Else: NBJC = 25
            End Select
        Case 2
            NBJC = IIf(CA < 4500, 7, 15)
        Case 3
            Select Case CA
                Case Is < 1000: NBJC = 3
                Case Is < 2000: NBJC = 5
                Case Is < 3000: NBJC = 8
                Case Is < 5000: NBJC = 10
                Case Else: NBJC = 13
            End Select
        Case 4
        Select Case CA
                Case Is < 1500: NBJC = 4
                Case Is < 5000: NBJC = 8
                Case Is < 10000: NBJC = 15
                Case Else: NBJC = 0
            End Select
        Case 5
            Select Case CA
                Case Is < 1000: NBJC = 10
                Case Is < 3000: NBJC = 15
                Case Else: NBJC = 20
            End Select
        Case 6
            Select Case CA
                Case Is < 5000: NBJC = 5
                Case Is < 15000: NBJC = 15
                Case Else: NBJC = 25
            End Select
       Case 7, 8: NBJC = 5    End Select
End Function

Bonjour Jean Eric

La relève est un GRAND mot

J'essaie d'aider un peu dans des questions assez facile (je suis trés, trés loin d'être un Pro) mais c'est en faisant ....

Mon SIERREUR je l'avait placé pour ma fonction réalisée (avec ta copie) et me servait à ne rien afficher si le N° client >9 (ce qui me donnait un #Valeur)

bonne journée

M12,

j'ai réussi pour la fonction vba, c'est ok.

j'ai besoin d'un autre calcul et je pense qu'on peut passer par la fonction si pour celui là :

la date de démarrage égale = date diag + nb jours

je sais qu'il faut utiliser la fonction serie.jour.ouvre

j'ai des conditions sur les clients :

si client = 1,2,ou3, date de démarrage = date diag + nb jours ouvres (mais on compte en jour ouvrables)

sinon date de démarrage = date diag + nb jours ouvres (on compte en jour ouvres cette fois)

pouvez vous m'aider ? merci

Re,

A tester dans ton exemple en C2

=SI(OU(D2=1;D2=2;D2=3);SERIE.JOUR.OUVRE(A2;B2);A2+B2)


re

erreur plutôt cela

=SI(OU(D2=1;D2=2;D2=3);A2+B2+1;SERIE.JOUR.OUVRE(A2;B2))

et peut -on rajouter une condition :

effectuer le calcul si la date de diag est saisie sinon ne rien afficher ???

re,

=SI(A2="";"";SI(OU(D2=1;D2=2;D2=3);A2+B2+1;SERIE.JOUR.OUVRE(A2;B2)))

c'est parfait

un très grand merci

j'ai appris des choses

à bientôt

Rechercher des sujets similaires à "aide ecrire fonction conditions"