Compatibilité macro Excel 2007 à 2003

Elsa B

XLDnaute Nouveau
Bonjour à tous,

Cela fait déjà quelques temps que je n'arrive pas à régler un problème de compatibilité d'excel.

J'ai créée une macro excel qui marche bien sur 2007 mais au travail je suis sur Excel 2003 et là, c'est pas pareil !

J'ai un onglet "extract" avec un tableau que les collaborateurs remplissent. Lorsqu'on clique sur le bouton "mettre à jour le planning", les données sont censées se mettre à jour et écraser les anciennes données dans l'onglet "planning 2012".

Cependant, malgré qu'il n'y ait pas de message d'erreur lorsqu'on clique sur "mettre à jour le planning", rien ne se fait.

Je ne sais vraiment pas pourquoi ni comment régler ce problème...

Quelqu'un pourrait-il m'aider? Je suis débutante en VBA... Je me suis faite aider pour la première macro mais la personne qui s'y connait n'a aucun moyen de tester sur 2003, du coup c'est dur de savoir quoi faire..

Merci d'avance pour votre aide.

Elsa
 
Dernière édition:

Elsa B

XLDnaute Nouveau
Re : Compatibilité macro Excel 2007 à 2003

Oups, je pensais avoir mis en pièce jointe mon fichier mais en fait il est trop volumineux...

La macro est la suivante :

Sub MAJ_Planning()

Dim noTache As Integer
Dim extract As Integer
extract = 12 'n° de ligne ou commence le tableau de l'extract
Dim ligne As Integer
ligne = 2 'n° de ligne ou commence le planning

Do While ThisWorkbook.Worksheets("extract").Cells(extract, 1) <> ""
noTache = ThisWorkbook.Worksheets("extract").Cells(extract, 1)
ThisWorkbook.Worksheets("planning 2012").Cells(noTache, 6) = ThisWorkbook.Worksheets("extract").Cells(extract, 5).Value
ThisWorkbook.Worksheets("planning 2012").Cells(noTache, 10) = ThisWorkbook.Worksheets("extract").Cells(extract, 6).Value
ThisWorkbook.Worksheets("planning 2012").Cells(noTache, 12) = ThisWorkbook.Worksheets("extract").Cells(extract, 7).Value
ThisWorkbook.Worksheets("planning 2012").Cells(noTache, 11) = ThisWorkbook.Worksheets("extract").Cells(extract, 8).Value


extract = extract + 1

Loop

MsgBox ("Le planning a été mis à jour")

End Sub



Merci!

Elsa
 

Misange

XLDnaute Barbatruc
Re : Compatibilité macro Excel 2007 à 2003

Je ne comprends pas trop ton code : tu utilises la valeur d'une cellule
noTache = ThisWorkbook.Worksheets("extract").Cells(extract, 1)
comme index pour en trouver une autre ?
ThisWorkbook.Worksheets("planning 2012").Cells(noTache, 6)

Ca parait bizarre comme façon de faire
si jamais il y a autre chose qu'un nombre entier dans la cellules cells(extract,1) c'est le plantage assuré.

simplifie ton fichier en ne gardant que ce qui pose un problème et mets le en ligne, c'est plus facile pour tester.
Ta macro déjà peut être allégée de tout tes thisworkbook. Au besoin mets un workbooks("monclasseur.xls).activate en début de macro pour être sure de travailler avec le bon classeur.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compatibilité macro Excel 2007 à 2003

Bonjour le fil, bonjour le forum,

Tout à fait d'accord avec Misange... De plus tu déclares et définis la variable ligne pour rien car elle n'est plus utilisée dans le code...
Peut-être comme ça :
Code:
Sub MAJ_Planning()Dim e As Object
Dim p As Object
Dim x As Integer
Dim noTache As Integer
Dim extract As Integer

Set e = ThisWorkbook.Sheets("extract")
Set p = ThisWorkbook.Sheets("planning 2012")
extract = e.Cells(Application.Rows.Count, 1).End(xlUp).Row
For x = 12 To extract
    noTache = e.Cells(x, 1)
    p.Cells(noTache, 6) = e.Cells(x, 5).Value
    p.Cells(noTache, 10) = e.Cells(x, 6).Value
    p.Cells(noTache, 12) = e.Cells(x, 7).Value
    p.Cells(noTache, 11) = e.Cells(x, 8).Value
Next x

MsgBox ("Le planning a été mis à jour")
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compatibilité macro Excel 2007 à 2003

Bonjour le fil, bonjour le forum,

Tu pars d'un fichier vide. Tu nommes les deux onglets respectivement extract et planning 2012. Tu copies et colles les étiquettes et juste une poignée de données non confidentielles. Tu sauves. Je doute que ça dépasse...
 

Misange

XLDnaute Barbatruc
Re : Compatibilité macro Excel 2007 à 2003

Ah nos réponses se sont croisées Robert :)
en complément : je ne vois dans le code rien qui justifie que cela passe sur 2007 et plus sur 2003. Es-tu sure que ce fichier fonctionne bien aujourd'hui sur 2007 ?
 

Discussions similaires

Réponses
1
Affichages
193
  • Résolu(e)
Microsoft 365 planning
Réponses
17
Affichages
679
Réponses
5
Affichages
331

Statistiques des forums

Discussions
312 211
Messages
2 086 298
Membres
103 171
dernier inscrit
clemm