Au lancement de Excel je charge un fichier xla qui contient toute mes macros
Au démarrage de fichier Excel j'ai une procédure qui appelle une fonction du
fichier xlaet qui test la version du classeur Excel (cellule réservée à
cette effet) et si version du fichier est mauvaise alors j'appelle une
fonction de conversion du classeur
Si je lance mon fichier Excel via l'explorateur les fonctions sont bien
appellées et mon fichier Excel est bien converti mais si je lance mon
fichier Excel via un programme Vb que j'ai écrit là j'ai une erreur de type
9 apparait : indice en dehors de page dans ma fonction de conversion du xla.
Ce problème ne se pose qu'avec Excel 97 en Excel 2000 et XP tout est OK
J'ai fait du debug de ma fonction de conversion et j'ai remarqué que mon
activeworkbook était mon fichier xla et pas mon classeur Excel.
Si l'on regarde la fonction ci-dessous j'active bien mon classeur mais c'est
toujours mon fichier xla qui est actif.
la ligne UCase(Sheets("Devis").Range("A11").Value) plante donc avec une
erreur de type 9
Si je compléte ma ligne par
UCase(Workbooks(Workbooks.Count).Sheets("Devis").Range("A11").Value) ca
fonctionne correctement .
Comment puis je faire pour ne pas chaque fois fois
ajouterWorkbooks(Workbooks.Count)
Merci
Function TestVersion() As String
Dim x As Workbook
Workbooks(Workbooks.Count).Worksheets("Devis")Activate
TestVersion = UCase(Sheets("Devis").Range("A11").Value)
End Function
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
Frédéric Sigonneau
Bonsoir,
Tu pourrais modifier ta fonction de test comme ceci :
Function TestVersion() As String Dim x As Workbook Set x = Workbooks(Workbooks.Count) TestVersion = UCase(x.Sheets("Devis").Range("A11").Value) End Function
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
Voici mon problème,
Au lancement de Excel je charge un fichier xla qui contient toute mes macros Au démarrage de fichier Excel j'ai une procédure qui appelle une fonction du fichier xlaet qui test la version du classeur Excel (cellule réservée à cette effet) et si version du fichier est mauvaise alors j'appelle une fonction de conversion du classeur
Si je lance mon fichier Excel via l'explorateur les fonctions sont bien appellées et mon fichier Excel est bien converti mais si je lance mon fichier Excel via un programme Vb que j'ai écrit là j'ai une erreur de type 9 apparait : indice en dehors de page dans ma fonction de conversion du xla.
Ce problème ne se pose qu'avec Excel 97 en Excel 2000 et XP tout est OK J'ai fait du debug de ma fonction de conversion et j'ai remarqué que mon activeworkbook était mon fichier xla et pas mon classeur Excel. Si l'on regarde la fonction ci-dessous j'active bien mon classeur mais c'est toujours mon fichier xla qui est actif. la ligne UCase(Sheets("Devis").Range("A11").Value) plante donc avec une erreur de type 9 Si je compléte ma ligne par UCase(Workbooks(Workbooks.Count).Sheets("Devis").Range("A11").Value) ca fonctionne correctement .
Comment puis je faire pour ne pas chaque fois fois ajouterWorkbooks(Workbooks.Count)
Merci
Function TestVersion() As String Dim x As Workbook Workbooks(Workbooks.Count).Worksheets("Devis")Activate TestVersion = UCase(Sheets("Devis").Range("A11").Value) End Function
-- !!!!ANTISPAM!!!!
Cliquez sur le lien pour répondre
http://cerbermail.com/?YFShDEWIbx
Bonsoir,
Tu pourrais modifier ta fonction de test comme ceci :
Function TestVersion() As String
Dim x As Workbook
Set x = Workbooks(Workbooks.Count)
TestVersion = UCase(x.Sheets("Devis").Range("A11").Value)
End Function
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
Voici mon problème,
Au lancement de Excel je charge un fichier xla qui contient toute mes macros
Au démarrage de fichier Excel j'ai une procédure qui appelle une fonction du
fichier xlaet qui test la version du classeur Excel (cellule réservée à
cette effet) et si version du fichier est mauvaise alors j'appelle une
fonction de conversion du classeur
Si je lance mon fichier Excel via l'explorateur les fonctions sont bien
appellées et mon fichier Excel est bien converti mais si je lance mon
fichier Excel via un programme Vb que j'ai écrit là j'ai une erreur de type
9 apparait : indice en dehors de page dans ma fonction de conversion du xla.
Ce problème ne se pose qu'avec Excel 97 en Excel 2000 et XP tout est OK
J'ai fait du debug de ma fonction de conversion et j'ai remarqué que mon
activeworkbook était mon fichier xla et pas mon classeur Excel.
Si l'on regarde la fonction ci-dessous j'active bien mon classeur mais c'est
toujours mon fichier xla qui est actif.
la ligne UCase(Sheets("Devis").Range("A11").Value) plante donc avec une
erreur de type 9
Si je compléte ma ligne par
UCase(Workbooks(Workbooks.Count).Sheets("Devis").Range("A11").Value) ca
fonctionne correctement .
Comment puis je faire pour ne pas chaque fois fois
ajouterWorkbooks(Workbooks.Count)
Merci
Function TestVersion() As String
Dim x As Workbook
Workbooks(Workbooks.Count).Worksheets("Devis")Activate
TestVersion = UCase(Sheets("Devis").Range("A11").Value)
End Function
Tu pourrais modifier ta fonction de test comme ceci :
Function TestVersion() As String Dim x As Workbook Set x = Workbooks(Workbooks.Count) TestVersion = UCase(x.Sheets("Devis").Range("A11").Value) End Function
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
Voici mon problème,
Au lancement de Excel je charge un fichier xla qui contient toute mes macros Au démarrage de fichier Excel j'ai une procédure qui appelle une fonction du fichier xlaet qui test la version du classeur Excel (cellule réservée à cette effet) et si version du fichier est mauvaise alors j'appelle une fonction de conversion du classeur
Si je lance mon fichier Excel via l'explorateur les fonctions sont bien appellées et mon fichier Excel est bien converti mais si je lance mon fichier Excel via un programme Vb que j'ai écrit là j'ai une erreur de type 9 apparait : indice en dehors de page dans ma fonction de conversion du xla.
Ce problème ne se pose qu'avec Excel 97 en Excel 2000 et XP tout est OK J'ai fait du debug de ma fonction de conversion et j'ai remarqué que mon activeworkbook était mon fichier xla et pas mon classeur Excel. Si l'on regarde la fonction ci-dessous j'active bien mon classeur mais c'est toujours mon fichier xla qui est actif. la ligne UCase(Sheets("Devis").Range("A11").Value) plante donc avec une erreur de type 9 Si je compléte ma ligne par UCase(Workbooks(Workbooks.Count).Sheets("Devis").Range("A11").Value) ca fonctionne correctement .
Comment puis je faire pour ne pas chaque fois fois ajouterWorkbooks(Workbooks.Count)
Merci
Function TestVersion() As String Dim x As Workbook Workbooks(Workbooks.Count).Worksheets("Devis")Activate TestVersion = UCase(Sheets("Devis").Range("A11").Value) End Function