"compris entre" en VBA

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

J

Jacques

Guest
Bonsoir à tous,

Je cherche comment mettre en VBA l'expression 'compris entre' du genre :

si A11 est compris entre A1 et A2 alors A12 = A3

j'aimerai adapter ce bout de code 'compris entre' dans le code suivant en le simplifiant un peu (puis je faire une boucle ou est ce que je dois tout écrire?)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$10' Then
If Range('a11').Value = Range('a1').Value Then 'remplacé par compris entre a1 et a2
Range('a12').Value = Range('a3').Value
End If
If Range('a11').Value = Range('b1').Value Then
Range('b12').Value = Range('b3').Value
End If
If Range('a11').Value = Range('c1').Value Then
Range('c12').Value = Range('c3').Value
End If
If Range('a11').Value = Range('d1').Value Then
Range('d12').Value = Range('d3').Value
End If
If Range('a11').Value = Range('e1').Value Then
Range('e12').Value = Range('e3').Value
End If
If Range('a11').Value = Range('f1').Value Then
Range('f12').Value = Range('f3').Value
End If
If Range('a11').Value = Range('g1').Value Then
Range('g12').Value = Range('g3').Value
End If
If Range('a11').Value = Range('h1').Value Then
Range('h12').Value = Range('h3').Value
End If

End If
End Sub

Merci à tous de votre aide

@ plus

Jacques
 
bonjour jacques le forum je l ecrirais comme cela Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range('a11').Value >= Range('a1').Value And Range('a11').Value <= Range('a2').Value Then Range('a12').Value = Range('a3').Value
End Sub' par contre pour simplifier je vois pas aucune similitude salutations
 
Bonsoir Jacques, excalibur,

Je n'ai pas testé, mais peut-être peux-tu essayer ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim V As Variant
Dim
C As Byte
      If Target.Address = '$A$10' Then
            V = Range('a11').Value
            For C = 1 To 8
                  If V >= Cells(1, C) And V <= Cells(2, C) Then
                        Cells(12, C).Value = Cells(3, C).Value
                  End If
            Next C
      End If
End Sub
Cordialement,
 
Salut MyDearFriend,

c'est bon ça marche, je te remerci et en profite pour te féliciter de l'excellent jeu que tu as mis sur le forum (je ne connaissais la version original mais c'est vraiment prenant)

Bravo!!! et merci

Jacques
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
12
Affichages
970
Réponses
7
Affichages
620
Retour