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

B

beatrice2fr

Guest
bonjour
je ne metrise pas bien cette fonction vba et j'ai donc un soucis

je voudrai que en fonction de la valeur ( 1 a 4 (obtenu par fonction)) de la cellule "T15", que soit lancer une macro ( macro1 a macro4 qui modifie differement le format de la cellule), mais que pour cette cellule "T15"
merci
 
Re : workshett change

Bonjour
Essai cela:
HTML:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [T15]) Is Nothing And Target.Count = 1 Then
    Select Case Target.Value
      Case Is = 1
        MsgBox "vous pouvez lancer la macro1"
      Case Is = 2
         MsgBox "vous pouvez lancer la macro2"
      Case Is = 3
         MsgBox "vous pouvez lancer la macro3"
      Case Is = 4
         MsgBox "vous pouvez lancer la macro4"
      Case Else
        MsgBox "seul les valeurs 1 à 4 sont dispo pour lancer une macro"
      End Select
   End If
End Sub
 
Re : workshett change

Bonjour le fil 🙂,
je voudrai que en fonction de la valeur ( 1 a 4 (obtenu par fonction)) de la cellule "T15", que soit lancer une macro ( macro1 a macro4 qui modifie differement le format de la cellule), mais que pour cette cellule "T15"
Si T15 est le résultat d'une formule, ce qui semble être le cas, Target ne va pas renvoyer T15... Il faudrait donc connaître la zone qui en changeant va affecter T15 pour le tester au niveau de l'Intersect, tout en faisant le test en dur sur T15.
Bonne journée 😎
 
Re : workshett change

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [T15]) Is Nothing And Target.Count = 1 Then
     Run Array("macro1", "macro2", "macro3", "macro4")(Target - 1)
  End If
End Sub

ou

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
    Run "macro" & Target
  End If
End Sub

JB
 
Dernière édition:
Re : workshett change

merci de vos reponse

J'ai testée les differentes solutions , elles fonctionnent mais comme le dis JNP, la valeur obtenu par formule n'est pas reconnu ( par contre si je tape directemnt la valeur dans la cellule T15, lorsque je valide, la macro se lance et s'applique sur T16 et non T15 comme je le voudrai).
Je joint une feuille exemple pour etre plus precis sur mon objectif
 

Pièces jointes

Dernière modification par un modérateur:
Re : workshett change

Bonjour
La macro pourrais ressembler à ça:
HTML:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [D18]) Is Nothing And Target.Count = 1 Then
    Select Case Target.Offset(0, -1).Value
      Case Is = 1
        MsgBox "vous pouvez lancer la macro1"
      Case Is = 2
         MsgBox "vous pouvez lancer la macro2"
      Case Is = 3
         MsgBox "vous pouvez lancer la macro3"
      Case Is = 4
         MsgBox "vous pouvez lancer la macro4"
      Case Else
        MsgBox "seul les valeurs 1 à 4 sont dispo pour lancer une macro"
      End Select
          Select Case Target.Offset(0, 1).Value
      Case Is = 1
        MsgBox "vous pouvez lancer la macro5"
      Case Is = 2
         MsgBox "vous pouvez lancer la macro6"
      Case Is = 3
         MsgBox "vous pouvez lancer la macro7"
      Case Is = 4
         MsgBox "vous pouvez lancer la macro8"
      Case Else
        MsgBox "seul les valeurs 1 à 4 sont dispo pour lancer une macro"
      End Select
   End If
End Sub
mais tu n'a pas que quatre choix, tu en a Huit
j'ai mis macro 5 pour le 1 de E18, macro6 pour 2 en E18 et ainsi de suite
 
Dernière édition:
Re : workshett change

Je te remercie fo rum, c'est exactement ce que je cherchais a faire.
Ceci dit je risque de remonter la discussion pour que tu m'explique, car je voudrai essayer de comprendre le cheminement
 
- 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