• Initiateur de la discussion Initiateur de la discussion lichem01
  • 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 !

L

lichem01

Guest
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value <= Range("A2").Value Then
ActiveSheet.Shapes("Object 48").Select
Selection.Verb Verb:=xlPrimary
End If
If Range("A1").Value >= Range("A2").Value Then
ActiveSheet.Shapes("Object 41").Select
Selection.Verb Verb:=xlPrimary
End If

End Sub

Le Probleme est que lorsque la valeur de n'importe quelle cellule de la feuille change, la commande est lancée.
Est-il possible que cette commande ne fonctionne que si une certaine cellule de la feuille change.
 
à supposer que la cellule dont tu veux tester le changement de valeur soit la "B1", voici ta procédure corrigée


Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("B1") Then
If Range("A1").Value <= Range("A2").Value Then
ActiveSheet.Shapes("Object 48").Select
Selection.Verb Verb:=xlPrimary
ElseIf Range("A1").Value >= Range("A2").Value Then
ActiveSheet.Shapes("Object 41").Select
Selection.Verb Verb:=xlPrimary
End If
End If
End Sub
 
TI si t'es encore là HELP

la formule fonctionne mais 2 Problemes se pose:
1)Cela ne fonctione que si l'on change manuellement la cellule par ex:B2, mais si la cellule change sur une requete prenant les données sur le net cela marche pas
2) si le changement correspond a une plage de cellules, çà ne marche pas non plus ex: if target= Range ("PlageDeCellules"),le message d'erreur est
erreur d'execution 13
Imcompatibilté de type
 
Re: TI si t'es encore là HELP

1ere question : si ça ne marche pas avec l'événement Change, essaie alors avec l'événement Calculate
2ème question, pour tester si la cellule se trouve à l'intérieur d'une plage donnée (ici B1:C5), tu peux corriger ta proc. comme ça :

'pour tester si la cellule se trouve dans la plage B1:C5

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Row >= 1 And .Row <= 5 And .Column >= 2 And .Column <= 3 Then
If Range("A1").Value <= Range("A2").Value Then
ActiveSheet.Shapes("Object 48").Select
Selection.Verb Verb:=xlPrimary
ElseIf Range("A1").Value >= Range("A2").Value Then
ActiveSheet.Shapes("Object 41").Select
Selection.Verb Verb:=xlPrimary
End If
End If
End With
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
256
Réponses
9
Affichages
404
Réponses
5
Affichages
477
Réponses
4
Affichages
578
Retour