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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel VBA] Macro qui se lance à chaque calcul

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel VBA] Macro qui se lance à chaque calcul

n°1478072
Kimilsung
Posté le 19-11-2006 à 13:08:33  profilanswer
 

Bonjour,
certaines macros qui portent un nom se lancent lors d'événements précis par exemple à l'ouverture du classeur (sub workbook_open).
Maintenant comment lancer une macro chaque fois que la feuille est mise à jour?  En gros comment rendre les macros automatiques comme les formules.

mood
Publicité
Posté le 19-11-2006 à 13:08:33  profilanswer
 

n°1478079
seniorpapo​u
Posté le 19-11-2006 à 13:53:25  profilanswer
 

Bonjour,
Tu vas dans VB  
dble clic sur feuil1 (par exemple)
A droite tu as général et worksheet
choisis worksheet
dans la deuxième petite fenêtre tu pourras choisir entre "change" ou "calculate"  (help te donnera des infos à ce sujet)
Cordialement

n°1478088
Kimilsung
Posté le 19-11-2006 à 14:41:24  profilanswer
 

Rah Mozilla a fermé la page. Je dois tout recommencer ma super question.
Worksheet_Change se lance à chaque modification sur la feuille. Pb: que peut être Target aucune procédure n'appelle Worksheet_Change?
 

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Call Propagation_model
  3. End Sub


 Propagation_model est rendue publique dans un module.


Message édité par Kimilsung le 19-11-2006 à 14:41:39
n°1478095
seniorpapo​u
Posté le 19-11-2006 à 14:59:06  profilanswer
 

Bonjour,
désolé, je ne comprends pas ta super question, mais si tu demande ce que peut être Target, c'est un paramètre qui indique quelle cellule a été modifiée. tu peux ainsi tester si c'est une cellule bien définie: target. address      ou une ligne  target.row    ou une colonne taget.column  etc.....
worksheet_change est appelée lorsque l'évènement change se produit.
 
Cordialement


Message édité par seniorpapou le 19-11-2006 à 15:00:02
n°1478117
Kimilsung
Posté le 19-11-2006 à 16:11:09  profilanswer
 

En fait la question serait comment lui faire passer Target en paramètre?
Vu qu'aucune procédure n'appelle Worksheet_Change.
Cdt

n°1478137
galopin01
Posté le 19-11-2006 à 17:47:49  profilanswer
 

bonjour,
Target EST le paramètre
pour t'en convaincre met cette macro et modifie une cellule
 
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
End Sub
 
A+

n°1478256
Kimilsung
Posté le 20-11-2006 à 09:14:05  profilanswer
 

Merci à tous.
j'ai défini Target en dehors de la procédure.

Code :
  1. Target = Range("A1:F30" )
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  3.     Call Propagation_Model
  4. End Sub


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

  [Excel VBA] Macro qui se lance à chaque calcul

 

Sujets relatifs
un programme simple qui marche pas (en If et Else)Trier un tableau sous excel horizontalement avec VBA(résolu)
[Excel VBA] Compteur - incrémentationarchivage excel
Selection multilignes VBA[VBA] Word stopper la pagination
Plus de sujets relatifs à : [Excel VBA] Macro qui se lance à chaque calcul


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