Execution automatique de macro

Hellowa

XLDnaute Junior
Bonjour à toutes et à tous, bonjour le forum!
:)
Ce matin, j'élabore un petit fichier de devis.

Je suis actuellement entrain de faire les calculs de cette feuille entièrement en visual basic de manière a ce que les gens qui l'utiliseront ne risquent pas d'effacer d'éventuelles cellules de calcul (ce qui risque fortement d'arriver!!!)
Bref pour en revenir à mon problème, j'aimerai savoir s'il est possible de lancer automatiquement ma macro qui calcule touts les totaux, la date etc, chaque fois que la valeur d'une cellule est modifiée??

J'ai tout essayé, les
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Je ne comprend pas à quoi correspond les termes entre parenthèses,
et les
Code:
Private Sub Worksheet_Calculate()
ton code.................
End Sub
Ne font rien... :confused:

Merci d'avance de votre oh combien puissante lumière ( j'en fait un peu trop là non?)
Bref, merci d'avance de jeter un petit coup d'oeil à mon problème,
A bientot!
Eloi¤
 

Pièces jointes

  • calcul_devis.xls
    27.5 KB · Affichages: 99
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Execution automatique de macro

Bonjour hellowa

code à mettre sur ta feuille1
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("H8").Value = Range("F8").Value * Range("g8").Value
End Sub

à adapter en fonction de la plage de cellules où devront être effectués les calculs
 
Dernière édition:

Hellowa

XLDnaute Junior
Re : Execution automatique de macro

[Edit]
J'ai oublié de te remercier Phlaurent55! Mille excuses, et encore merci de ta réponse!
[/Edit]

D'accord, ma macro est déjà toute faite, j'ai donc simplement a la copier entièrement dans le code de la feuille 1?
Ha oui, en effet, ça marche mais j'ai un petit soucis, elle se lance vraiment tout le temps... C'est assez embêtant!
 
Dernière édition:

Hellowa

XLDnaute Junior
Re : Execution automatique de macro

En fait si ma macro est longue c'est parce qu'elle contient des boucles for et plein de bazard...
Code:
Sub calcul_devis()
Dim i As Integer
'Calcul de la référence Client
For i = 7 To Sheets("Configurations").Range("B65536").End(xlUp).Row
    If Sheets("Devis").Range("E12").Value = Sheets("Configurations").Cells(i, 2) Then
        Sheets("Devis").Range("E13").Value = Sheets("Configurations").Cells(i, 3).Value
    End If
Next i
'On met la date en E11
Range("E11").Value = Date
'Calcul du cout d'études
Range("E17").Value = Range("F17").Value * Range("G17").Value
Donc voilààà... :eek:
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Execution automatique de macro

Re,
avec ceci:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G8:G65535")) Is Nothing Then

   ' ici tu mets ta procédure
   
End If
End Sub
ta procédure ne se déclenchera que si tu entre des données dans la plage de cellules G8:G65535
 

Hellowa

XLDnaute Junior
Re : Execution automatique de macro

Bonjour,
Désolé de répondre si tard, mais ça n'en vallait pas la peine avant!
J'ai enfin terminé mon projet, merci mille fois à toi laurent, ta solution marche à merveille!
A bientot,
Eloi.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Execution automatique de macro

Re,
je reviens sur le fil car cette phrase m'interpelle
Je suis actuellement entrain de faire les calculs de cette feuille entièrement en visual basic de manière a ce que les gens qui l'utiliseront ne risquent pas d'effacer d'éventuelles cellules de calcul (ce qui risque fortement d'arriver!!!)

tu peux éviter cela en verrouillant les cellules dans lesquelles un quelconque utilisateur n'a absolument rien à y faire

bonne journée
à+
 

Discussions similaires

Statistiques des forums

Discussions
312 675
Messages
2 090 799
Membres
104 668
dernier inscrit
Mac-Breheny