Macro Excel

F

Fanfan

Guest
Salut à tous,

Voili, voilà. J'aimerais vous soumettre un petit problème de reprise de macro depuis Excel 97 dans la version Office XP. La macro (visual basic editor) a été créée dans la version 5 puis reprise sans problème dans Excel 97. Seulement impossible de l'exécuter dans Excel Office XP ?

Quelles solutions à votre avis ?

Merci de me contacter pour plus de renseignements si nécessaire.

A bientôt j'espère !

Fanfan
 
@

@+Thierry

Guest
Salut Fanfan,

Sans fichier je ne peux te dire.....

Suis moi même détractiare de XP.... Envoie ce fichier chez moi si tu veux avec le mot clef suivant en sujet "fanfanXLD" dans le sujet...

Du bureau je verrai ce qui cloche.....

@+Thierry
 
F

Fanfan

Guest
Salut Thierry,

Merci déjà pour ta réponse, évidemment sans fichier c'est compliqué de répondre... Mais avec la macro cela sera encore moins évident, enfin peut-être, car c'est assez laborieux.

Le problème principal est qu'il semble que la compilation de cette macro ne peut pas se faire, car le programme ne trouve pas les références dans une bibliothèque ?!

Par exemple la Macro commence par:

Sub Nom macro () et là elle me signale un message "manquant" (sous windows XP). Par contre dans Excel 97 pas de problème.

Autre exemple:

With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

Ici le .PrintTitleRows = "" lui pose aussi un problème.

Avant de tout te transmettre, je crois que qu'il me faudrait un élément qui peut-être n'est pas installé ! Office XP a été installé en intégralité pourtant.

Pour l'instant je ne peux pas faire de mises à jour via Internet sur ce PC.

J'essayerais dès que possible, mais cela prendra encore 2 semaines (installation réseaux en cours...)

Voilà un peu plus de précisions. Peut-être que tu pourra m'aiguiller davantage ?

Merci d'avance.

Fanfan
 
@

@+Thierry

Guest
Salut Fanfan

Non je ne comprends encore moins ton problème !!
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

Ne sert strictement à rien ! enfin à moins que tu veuilles suprimer les heading de Ligne et de Colonne... (en général on fait l'inverse !!)

Par défaut Excel ne définit aucune ligne contenant les cellules qui doivent être répétées en haut de chaque page.... Et ce que tu me montre signifie de ne rien définir...

Tu es en train de dire en VBA que tu ne veux rien ! c'est probable qu'XP t'envoie "balader"... avec des instructions qui ne servent à rien...!

Ptet qu'XP refuse les instructions qui ne servent à rien !

Non j'en reviens à mon post précédent je ne sais pas... sans voir le code entier...

Pour : Sub Nom macro () et là elle me signale un message "manquant" je ne comprends pas non plus... (sauf que bien sûr faudrait "Sub Nom_Macro ()... mais çà je pense que tu le sais...

Non faut plus d'info...


Bonne Soirée
@+Thierry
 
F

Fanfan

Guest
Salut Thierry,

Je t'enverrai la macro prochainement avec plus d'explications !! D'ici ce week-end.

Tu verras, elle est un peu compliquée, car il s'agit de mettre en forme un document issu d'un fichier base de donnée. Et les titres sont volontairement effacés. Tu comprendras mieux après.

Je te l'enverrai avec le fichier de base et le résultat.

Merci pour tes efforts !

A bientôt.
 
S

spatd

Guest
Je suis confronté au même problème que Fanfan et je serai fort intéressé si vous avez la solution!
Merci d'avance.

PS: voici ma macro

Sub Mis_En_Page()
'**** Cette procedure met en page la feuille active.

With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = "&""Arial,Gras""&9DDHA &""Arial,Normal""&8SICR Sce Synthèse 64821"
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0)
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
'Definit la zone d'impression.
Range("A1:C9").Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
Range("A1").Select
End Sub

Cette macro ne marche pas sous XP, et je suis à la recherche d'une solution pour faire fonctionner. Voilà!
 
S

spatd

Guest
Salut Fanfan

Pour le problème suivant que tu as soulevé:

---> ci-dessous ton texte

Par contre dans Excel 97 pas de problème.
Autre exemple:

With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

Ici le .PrintTitleRows = "" lui pose aussi un problème.
---> fin de ton texte

Je pense que la première chose à faire est de vérifier si tu as une imprimante d'installer sur ton poste XP. En effet, j'avais un problème similaire et je me suis rappeler que "With ActiveSheet.PageSetup" permet de définir la mise en page de ta feuille or sans imprimante sur ton poste, tu ne peux pas faire de mise en page dans excel. De ce fait, j'ai installé une imprimante sur mon poste et du coup ma macro marche. Alors je pense que cela pourrait t'aider à resourdre ton problème.

Bonne journée!

spatd
 

Discussions similaires

Réponses
2
Affichages
236

Statistiques des forums

Discussions
311 725
Messages
2 081 945
Membres
101 849
dernier inscrit
florentMIG