Problème de macro Excel 2003 sur Excel 2007

Fermé
Gouyi - 12 juin 2010 à 10:01
 Mytå - 12 juin 2010 à 18:08
Bonjour à tous,

J'ai une feuille de calcul qui comporte une macro utilisant le solver, il fonctionne très bien sur Excel 2003 mais ne fonctionne plus une fois sur 2007 (il m'ouvre une fenêtre VB avec le message "erreur de compilation: Projet ou bibliothèque introuvable).

De plus, j'aimerai automatiser le lancement du solver en 1 clic sur un bouton car aujourd'hui je dois passer par un Ctrl+T puis appuyer 16 fois sur entrer pour exécuter les calculs. J'ai bien trouvé des infos sur le net mais n'y connaissant rien à VB je m'en sors pas.

Voici la macro en question :

Sub PTFOUR()
'
' PTFOUR Macro
' Macro enregistrée le 04/06/2010 par ...
'
' Touche de raccourci du clavier: Ctrl+t
Set Tini = Worksheets("chauffage mèche").Cells(4, 2)
Set Tparoi = Worksheets("chauffage mèche").Cells(5, 2)
For i = 1 To 16
Worksheets("chauffage mèche").Cells(27 + i, 5) = (Tini + Tparoi) / 2

Next i

Worksheets("chauffage mèche").Activate
SolverReset

SolverOk SetCell:="$F$28", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$28"
SolverSolve
SolverOk SetCell:="$F$29", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$29"
SolverSolve
SolverOk SetCell:="$F$30", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$30"
SolverSolve
SolverOk SetCell:="$F$31", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$31"
SolverSolve
SolverOk SetCell:="$F$32", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$32"
SolverSolve
SolverOk SetCell:="$F$33", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$33"
SolverSolve
SolverOk SetCell:="$F$34", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$34"
SolverSolve
SolverOk SetCell:="$F$35", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$35"
SolverSolve
SolverOk SetCell:="$F$36", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$36"
SolverSolve
SolverOk SetCell:="$F$37", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$37"
SolverSolve
SolverOk SetCell:="$F$38", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$38"
SolverSolve
SolverOk SetCell:="$F$39", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$39"
SolverSolve
SolverOk SetCell:="$F$40", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$40"
SolverSolve
SolverOk SetCell:="$F$41", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$41"
SolverSolve
SolverOk SetCell:="$F$42", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$42"
SolverSolve
SolverOk SetCell:="$F$43", MaxMinVal:=3, ValueOf:="0", ByChange:="$E$43"
SolverSolve

Merci par avance !

A voir également:

1 réponse

Salut le forum

Une réponse à ton problème

https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=17682&start=

Mytå
2