Bonjour Forum,
J'aimerais savoir l'instruction qui vérifie seulement la cellule qui a été modifié à l'aide d'un entrée de l'usager, Je m'explique : Dans ma feuille lorsqu'une quantité est inscrite, je fais apparaître une valeur du service qui a été sélectionné dans la colonne G. Je voudrais vérifier si la valeur de la colonne G est modifiée. voici mon instruction :
If Not Application.Intersect(Target, Range('g4:g3000')) Is Nothing Then
For Each c In Range('g4:g3000')
If c.Value <> '' And c.Value <> 0 Then ' s'il y a une quantitéde défini dans la colonnne B
If ((Cells(c.Row, 6) * 0.8) > (Cells(c.Row, 7))) Then ' Vérifie si la valeur défini est + de 20% escompte par rapport à la valeur établie
If Not (IsError(Application.Match(Cells(c.Row, 'd'), variable_rejeter, 0))) Then
MsgBox (' MESSAGE : La valeur que vous avez établie a une escompte de plus de 20%')
End If
End If
End If
Next c
End If
Ce que je n'arrive pas à faire c'est seulement de vérifier la derniere valeur modifiée et non toutes les valeurs. Car mon instruction me fait toujours apparaître mon message même s'il n'est pas applicable pour la dernière instruction. Par exemple
le service 1 est correct
le service 2 a un escompte de plus de 20%
le service 3 est correct
Dès que j'ai une valeur d'incorrect dans ma liste, mon instruction me fera toujours apparaître mon message même si j'ajoute d'autre service correct.
En espérant que j'ai pu vous donner assez d'instruction pour que vous puissez m'aider.
Bonne soirée à vous tous et merci à l'avanvce de tout votre aide.
Dolphin
J'aimerais savoir l'instruction qui vérifie seulement la cellule qui a été modifié à l'aide d'un entrée de l'usager, Je m'explique : Dans ma feuille lorsqu'une quantité est inscrite, je fais apparaître une valeur du service qui a été sélectionné dans la colonne G. Je voudrais vérifier si la valeur de la colonne G est modifiée. voici mon instruction :
If Not Application.Intersect(Target, Range('g4:g3000')) Is Nothing Then
For Each c In Range('g4:g3000')
If c.Value <> '' And c.Value <> 0 Then ' s'il y a une quantitéde défini dans la colonnne B
If ((Cells(c.Row, 6) * 0.8) > (Cells(c.Row, 7))) Then ' Vérifie si la valeur défini est + de 20% escompte par rapport à la valeur établie
If Not (IsError(Application.Match(Cells(c.Row, 'd'), variable_rejeter, 0))) Then
MsgBox (' MESSAGE : La valeur que vous avez établie a une escompte de plus de 20%')
End If
End If
End If
Next c
End If
Ce que je n'arrive pas à faire c'est seulement de vérifier la derniere valeur modifiée et non toutes les valeurs. Car mon instruction me fait toujours apparaître mon message même s'il n'est pas applicable pour la dernière instruction. Par exemple
le service 1 est correct
le service 2 a un escompte de plus de 20%
le service 3 est correct
Dès que j'ai une valeur d'incorrect dans ma liste, mon instruction me fera toujours apparaître mon message même si j'ajoute d'autre service correct.
En espérant que j'ai pu vous donner assez d'instruction pour que vous puissez m'aider.
Bonne soirée à vous tous et merci à l'avanvce de tout votre aide.
Dolphin