VBA : problème sur une macros basé sur un SI
Bonjour,
Je suis étudiant et je cherche à développer une macros basé sur un SI pour mon épreuve d'oral en fin d'année.
Mon classeur excel (Classeur test.xls) est basé sur une liste déroulante (des dates) qui me reporte des montants sur tous mes tableaux de coûts situés dans les feuilles suivantes (il s'agit d'une application de contrôle de gestion).
Je souhaite donc faire une macro qui me sélectionne mon résultat analytique, ouvre un nouveau classeur (analyse.xls) existant et colle ce résultat analytique dans ce nouveau classeur ouvert. Je souhaite qu'il le colle à différents endroits selon la période. C'est pourquoi j'ai pensé à une fonction SI.
Mon code VBA est donc celui-ci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Sub MacroTest()
Workbooks.Open Filename:= _
"G:\Tableaux de couts\analyse.xls"
Windows("Classeur test.xls").Activate
If DateChoixTxt = mai_2008 Then
Windows("Classeur test.xls").Activate
Sheets("Résultat analytique").Select
Range("D7:D9").Select
Selection.Copy
Windows("analyse.xls").Activate
Sheets("Ecart").Select
Range("B4:B6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
Windows("Classeur test.xls").Activate
Sheets("Résultat analytique").Select
Range("D7:D9").Select
Selection.Copy
Windows("analyse.xls").Activate
Sheets("Ecart").Select
Range("E4:E6").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
End Sub |
La cellule contenant la date est une cellule avec une fonction qui me renvoie la date au format mai 2008.
Le code a l'air bon.
Et pourtant, j'ai beau tester des tas de trucs, quand je lance la macro, elle colle toujours dans les cellules B4:B6, sans tenir compte de la condition.
J'ai peut-être fait une erreur dans la syntaxe. A vrai dire, je ne suis qu'un débutant en VBA.
Je sollicite donc votre aide, après des heures à avoir planché sur le sujet sans résultat.
Merci d'avance pour votre aide,
Cordialement,