aider moi SVP

abalagha

XLDnaute Nouveau
Bonjours a tous
je souhaite que les membre de cet forum est en bonne santé
Car je compte sur vous a m'aider sur un problème qu e je n'arrive pas a le résoudre.
si vous avez un peut de temps aider moi
 

Pièces jointes

  • adel (2).xlsx
    11.1 KB · Affichages: 51
  • adel (2).xlsx
    11.1 KB · Affichages: 61
  • adel (2).xlsx
    11.1 KB · Affichages: 61

Robert

XLDnaute Barbatruc
Repose en paix
Re : aider moi SVP

Bonjour le fil, bonjour le forum,

Par formule je ne sais pas faire. Si une solution VBA t'intéresse, regarde le fichier en pièce jointe avec le code ci-dessous :
Code:
Option Explicit
Private TEST As Boolean 'déclare la variable TEST
Private V123 As Boolean 'déclare la variaboe V123

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
'si le changement a lieu ailleurs qu'en B4 ou B7, sort de la procédure
If Not Application.Intersect(Target, Range("B4"), Range("B7")) Is Nothing Then Exit Sub
If TEST = True Then Exit Sub 'si text est vraie, sort de la procédure
TEST = True 'définit la variable TEST
If Target.Address = "$B$4" Then 'condition : si le changement a lien en B4
    Select Case Target.Value 'agit en fonction de la valeur de B4
        Case 1, 2, 3 'cas B4 vaut 1, 2 ou 3
            V123 = True 'définit la variable V123
            Range("B5").Validation.Delete 'supprime la validation de données en B5
            Range("B5").Value = 200 'définit la valeur de B5
        Case 4 'cas B4 vaut 4
            With Range("B5").Validation 'prend en compte la validation de données en B4
                .Delete 'supprime une liste de validation éventuelle
                'définit la nouvelle liste de validation
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$J$6:$J$8"
            End With 'fin de la prise en compte de la validation de données
            Range("B5").Value = "" 'vide la cellule B5
        Case 5 'cas B4 vaut 5
            Range("B5").Validation.Delete 'supprime la validation de données en B5
            Range("B5").Value = "" 'définit la valeur de B5
        Case "" 'cas ou B4 est effacée
            Range("B5").Value = "" 'efface B5, B7 et B9
            Range("B7").Value = ""
            Range("B9").Value = ""
    End Select 'fin de l'action en fonction de la valeur de B4
End If 'fin de la condition
If Range("B7").Value <> 0 Then 'Condition : si B7 né st pas nulle
    Range("B9").Value = CInt(Range("B5").Value) * CInt(Range("B7").Value) 'place le calcul em B9
    'si V123 est vrai et le calcul dépasse 1000, place 1000 en B9: initialise la variable V123
    If V123 = True And CInt(Range("B5").Value) * CInt(Range("B7").Value) > 1000 Then Range("B9").Value = 1000: V123 = False
End If 'fin de la condition
TEST = False 'initialise la variable TEST
End Sub
 

Pièces jointes

  • Abalagha_v01.xlsm
    17.8 KB · Affichages: 39

Discussions similaires

Réponses
4
Affichages
484

Statistiques des forums

Discussions
312 502
Messages
2 089 019
Membres
104 006
dernier inscrit
CABROL