Adapter macro excel 2007 à excel 2003

Mathar

XLDnaute Nouveau
Bonsoir,

Après plusieurs recherches j'ai appris que les macro étaient différentes entre excel 2007 et excel 2003 :-/, je me retrouve dans une situation assez délicate n'ayant pas de version 2003 sous la main je ne sais pas comment m'y prendre pour faire marcher une macro toute simple sous cette version sans devoir passer par cette dernière.

Le fichier est à destination d'un client actuellement en déplacement d'où l'urgence, j'ai du réaliser très rapidement un fichier excel et n'ayant pas de temps pour optimiser les calculs je me suis retrouver avec des cellules qui ne se calculaient pas automatiquement même avec F9, j'ai donc inclus une petite macro qui dévérouille la feuille, active la formule d'une cellule d'un tableau et tout se remets à jour pour ensuite re vérouiller la feuille.

Je ne peux malheureusement pas vous joindre le fichier contenant des données confidentiel mais je peux vous donner le code:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 2 And Target.Column = 10 Then
ActiveSheet.Unprotect ("mdp")
 Range("H9").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC7<>"""",VLOOKUP(CONCATENATE(RC6&"" - ""&RC7),Paramètres!R423C1:R460C11,5,FALSE),"""")"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mdp"
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub

Private Sub Worksheet_Activate()
ActiveSheet.Unprotect ("mdp")
 Range("H9").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC7<>"""",VLOOKUP(CONCATENATE(RC6&"" - ""&RC7),Paramètres!R423C1:R460C11,5,FALSE),"""")"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mdp"
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Je ne sais pas ce que je dois faire, puis-je modifier ce code de manière à ce qu'il soit compatible avec la version 2003?

Merci d'avance et bonne soirée.
 

Roland_M

XLDnaute Barbatruc
Re : Adapter macro excel 2007 à excel 2003

bonjour,

je viens d'essayer sur 2003 et il semble que ce soit OK

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$2" Then
   ActiveSheet.Unprotect ("mdp")
   Range("H9").FormulaR1C1 = "=IF(RC7<>"""",VLOOKUP(CONCATENATE(RC6&"" - ""&RC7),Paramètres!R423C1:R460C11,5,FALSE),"""")"
   ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mdp"
   ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub

Private Sub Worksheet_Activate()
ActiveSheet.Unprotect ("mdp")
Range("H9").FormulaR1C1 = "=IF(RC7<>"""",VLOOKUP(CONCATENATE(RC6&"" - ""&RC7),Paramètres!R423C1:R460C11,5,FALSE),"""")"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mdp"
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
 

Mathar

XLDnaute Nouveau
Re : Adapter macro excel 2007 à excel 2003

Bonjour Rolland,

Merci pour l'info mais comment faire pour que ce code puisse être lu avec une version 2003 si je l'écris sous excel 2007?
J'ai envoyé un fichier contenant cette macro et mon client m'a dit qu'elle ne s'activait pas.

Bonne soirée
 

Roland_M

XLDnaute Barbatruc
Re : Adapter macro excel 2007 à excel 2003

re

2003 ou 2007 elle fonctionne ! sur simple copier/coller

ce code doit être placé dans le code de la feuille concernée et pas dans un module !

il s'agit bien d'une modif dans la cellule J2 de cette feuille ?
 
Dernière édition:

Mathar

XLDnaute Nouveau
Re : Adapter macro excel 2007 à excel 2003

Bonsoir,

Oui en fait c'est pas vraiment une modification je remets la même formule pour actualiser.
Si la macro est viable je vais essayé de la mettre en place via team viewer, j'avais besoin d'être sur des modifs à apporter avant d'en arriver à cette option, je sais que ce n'est pas le sujet mais l'interface macro d'excel 2003 est-elle la même que dans le 2007?
Dois-je enregistrer le fichier sous un format spécial comme dans excel 2007 avec .xlms?

Merci pour ton aide
 

Discussions similaires