Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2436 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA: macro qui se lance apres modif de certaines cell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA: macro qui se lance apres modif de certaines cell

n°1270867
jackoz
Posté le 20-12-2005 à 16:20:08  profilanswer
 

bonjour à tous.
 
Je cherche à écrire une macro qui me lance un calcul suite à la modification des valeurs de certaines cellules uniquement.
 
J'ai utilisé worksheet_change(ByVal target as Range), mais cela a pour efet de lancer la macro chaque fois qu'une cellule quelconque est modifieé, ce qui engendre un problème d'appel cyclique de ma macro.
 
En cherchant un peu sur le forum j'ai tenté de faire ça:
 
Private Sub worksheet_change(ByVal target As range)
    If target = range("$D$3" ) Or target = range("$D$5" ) Or target = range("$D$6" ) Or target =
                 range("$D$13" ) Or target = range("$D$14" ) Or target = range("$D$17" ) Or target  
                 = range("$D$19" ) Or target = range("$D$21" ) Or target = range("$D$22" ) Or  
                 target = range("$D$25" ) Or target = range("$D$26" ) Or target = range("$D$28" )  
                 Or target = range("$D$29" ) Or target = range("$D$31" ) Or target =  
                 range("$D$32" ) Or target = range("$D$37" ) Or target = range("$D$38" )  
    Then
               range("R16" ) = 0.00001
               range("W17" ).GoalSeek Goal:=0, changingcell:=range("R16" )
               range("AB16" ) = 0.00001
               range("AG17" ).GoalSeek Goal:=0, changingcell:=range("AB16" )
    End If
End Sub
 
mais ça n'a rien donné.
 
Quelqu'un a-t-il une suggestion?
 
Merci à vous

mood
Publicité
Posté le 20-12-2005 à 16:20:08  profilanswer
 

n°1271077
DamienCYS
Posté le 21-12-2005 à 10:37:11  profilanswer
 

visiblement tu veu lancer ton prog quan il y une modif sur le colonne "D"
essaye comme ca :
Private sub Worksheet_Change(ByVal Target As Excel.Range)
  if (target.column = 4) then
     ....
     ....
  End if
end sub

n°1271082
jackoz
Posté le 21-12-2005 à 10:42:19  profilanswer
 

le problème, c'est qu'il y a d'autres cellules sur la colonne D qui ne doivent pas provoquer la modification...

n°1271089
DamienCYS
Posté le 21-12-2005 à 10:50:21  profilanswer
 

le plus simple est d'utiliser la fonction case qui permet de spécifier une série de nombre :
Private sub Worksheet_Change(ByVal Target As Excel.Range)  
  if (target.column = 4) then  
    select case target.row
       case 3,5,6,13,...
           ...
           Ton code
           ....
   end select
  End if  
end sub  

n°1271137
jackoz
Posté le 21-12-2005 à 11:33:09  profilanswer
 

ca c'est une bonne idee :)
je vais essayer ca tout de suite merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA: macro qui se lance apres modif de certaines cell

 

Sujets relatifs
[Java][VBA] Java ou VBA pour cet usage ?[VBA POWERPOINT] [done]Supprimer toutes les images du slide1
modif sur javascript jukebox[VBA]GetOpenFilename ne fonctionne pas
[VBA] mise en forme conditionnelle Excel sous Access[VBA EXCEL 03] Probleme de mise en forme auto du graph
Inverser une matrice / DLL utilisee depuis VBARéception d'un mail en VBA
[VBA] maitlo et bouton/userform[VBA] While et Vlookup
Plus de sujets relatifs à : VBA: macro qui se lance apres modif de certaines cell


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR