[VBA] Compilation conditionnelle et manipulation de fenêtre Windows
3 réponses
HD
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant
certaines fenêtre et en faisant fermer d'autres... Mon problème est que si
ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et
Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel
2003...
Je sais que la solution passerait par une compilation conditionnelle mais je
ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle
2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Argyronet
Bonjour,
Avant de se lancer dans une telle direction, il serait intéressant de poser des gestions d'erreurs afin d'intercepter celles-ci et agir en conséquence... Avez-vous mis cela en place et si oui, quelles erreurs sont levées... ? -- Argy { MVP } http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Merci d'avance pour votre aide -- @+ HD
Bonjour,
Avant de se lancer dans une telle direction, il serait intéressant de poser
des gestions d'erreurs afin d'intercepter celles-ci et agir en conséquence...
Avez-vous mis cela en place et si oui, quelles erreurs sont levées... ?
--
Argy { MVP }
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant
certaines fenêtre et en faisant fermer d'autres... Mon problème est que si
ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et
Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel
2003...
Je sais que la solution passerait par une compilation conditionnelle mais je
ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle
2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Avant de se lancer dans une telle direction, il serait intéressant de poser des gestions d'erreurs afin d'intercepter celles-ci et agir en conséquence... Avez-vous mis cela en place et si oui, quelles erreurs sont levées... ? -- Argy { MVP } http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Merci d'avance pour votre aide -- @+ HD
anonymousA
Bonjour,
la compilation conditionnelle existe mais à ma connaissance est faite pour tester si on est en VBA5 ou VBA6 ce qui n'a plus d'importance à partir d'Excel 97, du moins si ma mémoire de mes lectures ( en effet, j'ai Excel 2000) est bonne. Pour le reste, sur l'utilisation de méthodes ou/et propriétés nouvelles selon les versions, ce qui m'étonne c'est qu'en règle générale il y a une compatibilité ascendante , donc ce qui fonctionnait avec une ancienne version fonctionne avec une version plus récente. Ceci dit, si je me trompe, il faut sans doute t'en remettre à ce que Argyronet t'a indiqué A+
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Merci d'avance pour votre aide -- @+ HD
Bonjour,
la compilation conditionnelle existe mais à ma connaissance est faite
pour tester si on est en VBA5 ou VBA6 ce qui n'a plus d'importance à
partir d'Excel 97, du moins si ma mémoire de mes lectures ( en effet,
j'ai Excel 2000) est bonne.
Pour le reste, sur l'utilisation de méthodes ou/et propriétés nouvelles
selon les versions, ce qui m'étonne c'est qu'en règle générale il y a
une compatibilité ascendante , donc ce qui fonctionnait avec une
ancienne version fonctionne avec une version plus récente. Ceci dit, si
je me trompe, il faut sans doute t'en remettre à ce que Argyronet t'a
indiqué
A+
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant
certaines fenêtre et en faisant fermer d'autres... Mon problème est que si
ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et
Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel
2003...
Je sais que la solution passerait par une compilation conditionnelle mais je
ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle
2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
la compilation conditionnelle existe mais à ma connaissance est faite pour tester si on est en VBA5 ou VBA6 ce qui n'a plus d'importance à partir d'Excel 97, du moins si ma mémoire de mes lectures ( en effet, j'ai Excel 2000) est bonne. Pour le reste, sur l'utilisation de méthodes ou/et propriétés nouvelles selon les versions, ce qui m'étonne c'est qu'en règle générale il y a une compatibilité ascendante , donc ce qui fonctionnait avec une ancienne version fonctionne avec une version plus récente. Ceci dit, si je me trompe, il faut sans doute t'en remettre à ce que Argyronet t'a indiqué A+
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Merci d'avance pour votre aide -- @+ HD
Ange Ounis
Excel 97 c'est VBA5 et Excel 2000 et + c'est VBA6 :
Sub essai() #If VBA6 Then 'Excel 2000/2002/2003 MsgBox "VBA v6" #Else 'Excel 97 (et peut-être 95) MsgBox "VBA v5" #End If End Sub
Ceci dit, si ton code fonctionne correctement avec Excel 97 il devrait fonctionner sans erreur avec Excel 2003. C'est l'inverse qui peut poser problème (une macro élaborée avec Excel 2003 et exécutée avec Excel 97). Par contre, c'est le passage de Win 98 à Win XP que je soupçonnerais en premier lieu d'être responsable des erreurs constatées. Pour aller un peu plus loin, une description succincte de la ou des erreurs dont tu parles pourrait aider. Si ce c'est pas le système, ça peut aussi être l'antivirus et ses paramétrages qui sont sûrement différents sur les postes Win XP de ceux qui tournent avec Win 98. Certains antivirus (Kaspersky par exemple) sont des vraies plaies lorsqu'ils sont utilisés avec leurs réglages par défaut.
---------- Ange Ounis ----------
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Merci d'avance pour votre aide -- @+ HD
Excel 97 c'est VBA5 et Excel 2000 et + c'est VBA6 :
Sub essai()
#If VBA6 Then
'Excel 2000/2002/2003
MsgBox "VBA v6"
#Else
'Excel 97 (et peut-être 95)
MsgBox "VBA v5"
#End If
End Sub
Ceci dit, si ton code fonctionne correctement avec Excel 97 il devrait
fonctionner sans erreur avec Excel 2003. C'est l'inverse qui peut poser problème
(une macro élaborée avec Excel 2003 et exécutée avec Excel 97).
Par contre, c'est le passage de Win 98 à Win XP que je soupçonnerais en premier
lieu d'être responsable des erreurs constatées. Pour aller un peu plus loin, une
description succincte de la ou des erreurs dont tu parles pourrait aider.
Si ce c'est pas le système, ça peut aussi être l'antivirus et ses paramétrages
qui sont sûrement différents sur les postes Win XP de ceux qui tournent avec Win
98. Certains antivirus (Kaspersky par exemple) sont des vraies plaies lorsqu'ils
sont utilisés avec leurs réglages par défaut.
----------
Ange Ounis
----------
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant
certaines fenêtre et en faisant fermer d'autres... Mon problème est que si
ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et
Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel
2003...
Je sais que la solution passerait par une compilation conditionnelle mais je
ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle
2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....
Excel 97 c'est VBA5 et Excel 2000 et + c'est VBA6 :
Sub essai() #If VBA6 Then 'Excel 2000/2002/2003 MsgBox "VBA v6" #Else 'Excel 97 (et peut-être 95) MsgBox "VBA v5" #End If End Sub
Ceci dit, si ton code fonctionne correctement avec Excel 97 il devrait fonctionner sans erreur avec Excel 2003. C'est l'inverse qui peut poser problème (une macro élaborée avec Excel 2003 et exécutée avec Excel 97). Par contre, c'est le passage de Win 98 à Win XP que je soupçonnerais en premier lieu d'être responsable des erreurs constatées. Pour aller un peu plus loin, une description succincte de la ou des erreurs dont tu parles pourrait aider. Si ce c'est pas le système, ça peut aussi être l'antivirus et ses paramétrages qui sont sûrement différents sur les postes Win XP de ceux qui tournent avec Win 98. Certains antivirus (Kaspersky par exemple) sont des vraies plaies lorsqu'ils sont utilisés avec leurs réglages par défaut.
---------- Ange Ounis ----------
Bonjour,
Sur l'une de mes macros VBA je manipule des fenêtres Windows en activant certaines fenêtre et en faisant fermer d'autres... Mon problème est que si ces macros fonctionnaient parfaitement sur des postes avec Windows 98 et Excel 97 j'ai maintenant des erreurs sur les postes avec Windows XP et Excel 2003...
Je sais que la solution passerait par une compilation conditionnelle mais je ne sais pas:
1 ) Comment réaliser ma compilation conditionnelle 2 ) Quelles fonctions compatibles avec les nouveaux Excel mettre....