> Tous les forums > Forum Bureautique
 Excel - Déclencher macro après chgt d'une celluleSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
kezav
  Posté le 19/07/2010 @ 12:41 
Aller en bas de la page 
Nouvel astucien

Hello tout le monde,

J'ai créé une macro qui a l'air de pas trop mal fonctionner mais le problème vient plutôt du fait que je ne sais pas comment la déclencher quand je veux.

En fait, en complétant différent tableaux, je calcule une somme et en fonction du résultat de cette somme, ma macro doit rentrer en jeu. A chaque fois que la somme change, la macro doit refonctionner.

Y-a-t-il une fonction qui permettrait de détecter les changements de valeur de la cellule et à chaque changement lancerait la macro?

J'espère avoir été assez clair et merci beaucoup !!!!!!

Publicité
qmike549
 Posté le 19/07/2010 à 12:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Marmotte18
 Posté le 19/07/2010 à 18:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Dans Feuil1, mets la macro :

Public AncienneSomme As Currency, Fois1 As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)

If Fois1 = False Then
Fois1 = True
AncienneSomme = Cells(4, 1)
MsgBox "Ancienne somme = " & AncienneSomme
Exit Sub
End If

If Cells(4, 1) <> AncienneSomme Then
AncienneSomme = Cells(4, 1)
MsgBox "Nouvelle somme = " & AncienneSomme
Call SuiteTraitement
End If

End Sub

Dans Module1, mets l'autre macro :

Sub SuiteTraitement()
MsgBox "Le traitement se poursuit car la somme a changé !"
End Sub

Ci-joint le fichier de démonstration : http://www.cijoint.fr/cjlink.php?file=cj201007/cijs1mfZjM.xls



Modifié par Marmotte18 le 19/07/2010 18:59
kezav
 Posté le 20/07/2010 à 10:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Merci beaucoup pour vos réponses !

J'ai testé la solution de Marmotte qui marche bien, il y a juste un petit problème, c'est que ca ne fonctionne pas pour le premier changement effectué. En effet, je pense que le premier changement doit initialiser la valeur 'ancienne somme' et donc ca ne lance pas ma macro.

Quelqu'un a-t-il une idée ? Merci !

Marmotte18
 Posté le 20/07/2010 à 18:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir kezav,

Tu as raison, il y a un bug sur le fonctionnement. J'ai fait des corrections et voilà le résultat des courses :

Dans Feuil1, mettre le code :

Private Sub Worksheet_Change(ByVal Target As Range)

If Cells(4, 1) <> AncienneSomme Then
AncienneSomme = Cells(4, 1)
MsgBox "Nouvelle somme = " & AncienneSomme
Call SuiteTraitement
End If

End Sub

Dans ThisWorkbook, mettre le code :

Private Sub Workbook_Open()
AncienneSomme = Cells(4, 1)
MsgBox "Valeur de la somme à l'ouverture du classeur = " & AncienneSomme & " => aucune macro n'est lancée !"
End Sub

Dans Module1, mettre le code :

Public AncienneSomme As Currency

Sub SuiteTraitement()
MsgBox "Une macro est lancée car la somme a changé !"
End Sub

Ci-joint le fichier de démonstration : http://www.cijoint.fr/cjlink.php?file=cj201007/cijmxZwqlj.xls



Modifié par Marmotte18 le 20/07/2010 19:29
kezav
 Posté le 21/07/2010 à 10:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Super !

Ca marche super bien

Un grand merci à Marmotte !!!

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
59 €SSD Samsung 870 EVO 500 Go à 59 €
Valable jusqu'au 09 Mars

Amazon fait une promotion sur le SSD Samsung 870 EVO 1 To à 59 € livré gratuitement. On le trouve ailleurs à plus de 75 €. Ce SSD offre des vitesses de 560 Mo/s en lecture et 530 Mo/s en écriture. Il est garanti 5 ans.


> Voir l'offre
54,99 €Disque dur Western Digital Blue 2 To à 54,99 €
Valable jusqu'au 08 Mars

Amazon propose actuellement le disque dur Western Digital Cavier Blue 2 To à 54,99 € livré gratuitement. Ce disque dur 3.5 pouces SATA III  tourne à 5400 tr/min. On le trouve ailleurs à partir de 61 €. 


> Voir l'offre
14,88 €Coffret d'embouts de vissage et à cliquet Bosch 26 pièces à 14,88 €
Valable jusqu'au 08 Mars

Amazon fait une promotion sur le coffre de 32 pièces d'embouts de vissage qui passe à 13,50 € au lieu de 16 €. Il comporte un porte embout universel à changement rapide et des embouts PH1/PH2/PH2/PH3/PZ1/PZ2/PZ2/PZ3/HEX 3/HEX 4/HEX 5/HEX 6/T10/T15/T20/T20/T25/T27/T30/T40.


> Voir l'offre

Sujets relatifs
Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
(Macro Excel) Sélectionner cellule en fonction de sa couleur
excel 2007 cellule en couleur après la date ?
la macro qui designe une cellule pour excel
Excel - déclenchement macro sur modif cellule
Macro excel = Copier une cellule
tri d'aprés une autre cellule excel
2 pages par feuille dans macro excel
Recopie cellule par macro
case à cocher dans cellule Excel 2010
Plus de sujets relatifs à Excel - Déclencher macro après chgt d''une cellule
 > Tous les forums > Forum Bureautique