probleme formule condition

  • Initiateur de la discussion Initiateur de la discussion gao77610
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gao77610

Guest
probleme formule condition vba

Bonjour à tous

Voici mon soucis, la premiere condition fonctionne mais pas les 2 autres

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or Intersect(Target, Columns(1)) Is Nothing Then Exit Sub
If Left(Target, 5) = "36613" Then Sheets("StockBox").Range("b2").Value = Sheets("StockBox").Range("b2").Value + 1

If Target.Cells.Count > 1 Or Intersect(Target, Columns(2)) Is Nothing Then Exit Sub
If Left(Target, 5) = "12345" Then Sheets("StockBox").Range("c2").Value = Sheets("StockBox").Range("c2").Value + 1

If Target.Cells.Count > 1 Or Intersect(Target, Columns(3)) Is Nothing Then Exit Sub
If Left(Target, 5) = "67890" Then Sheets("StockBox").Range("d2").Value = Sheets("StockBox").Range("d2").Value + 1
End Sub

J'aimerais comprendre pourquoi

Merci par avance
 
Dernière modification par un modérateur:
Re : probleme formule condition

Bonjour Gao, bonjour le forum,

Dans la première ligne tu demandes au code de sortir de la procédure si tu "changes" ailleurs qu'en colonne A... Donc le code fait ce que tu lui demandes. Essaie comme ça (non testé) :
Code:
If Target.Cells.Count > 1 Or Intersect(Target, Columns("A:C")) Is Nothing Then Exit Sub
 
Dernière édition:
Re : probleme formule condition

Re

Merci pour l'info, voila ce que j'ai fais etcela fonctionne:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or Intersect(Target, Columns("a:d")) Is Nothing Then Exit Sub
If Left(Target, 5) = "36613" Then Sheets("StockBox").Range("b2").Value = Sheets("StockBox").Range("b2").Value + 1

If Target.Cells.Count > 1 Or Intersect(Target, Columns("b:d")) Is Nothing Then Exit Sub
If Left(Target, 5) = "12345" Then Sheets("StockBox").Range("c2").Value = Sheets("StockBox").Range("c2").Value + 1

If Target.Cells.Count > 1 Or Intersect(Target, Columns("c:d")) Is Nothing Then Exit Sub
If Left(Target, 5) = "67890" Then Sheets("StockBox").Range("d2").Value = Sheets("StockBox").Range("d2").Value + 1
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
509
Retour