J'ai un probl=E8me avec une feuille fractionner. En effet lorsque je
fais la selection d'une plage sur une feuille fractionner
(Fen=EAtre/Fractionner), j'ai une erreur, "La m=E9thode Range de l'objet
_worksheet a =E9chou=E9e !"
Alors que si la feuille n'est pas fractionner, l'erreur n'apparait pas.
Sub TEST()
Application.ScreenUpdating =3D False
Set MonClasseur =3D Workbooks.Open(strCheminRendRT & strRT, 0, True)
Set MaFeuille =3D MonClasseur.Worksheets("Production")
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
Titi
Re-Bonjour,
Désolé, autant pour moi, le problème ne vient pas apparement de là. En fait j'ai une erreur de temps en temps sur la méthode range !? L'erreur ne se produit pas tout le temps !
Quelqu'un a t'il une explication ?
D'avance merci,
Titi.
Re-Bonjour,
Désolé, autant pour moi, le problème ne vient pas apparement de là.
En fait j'ai une erreur de temps en temps sur la méthode range !?
L'erreur ne se produit pas tout le temps !
Désolé, autant pour moi, le problème ne vient pas apparement de là. En fait j'ai une erreur de temps en temps sur la méthode range !? L'erreur ne se produit pas tout le temps !
Quelqu'un a t'il une explication ?
D'avance merci,
Titi.
michdenis
Bonjour Titi,
Pour la variable "MaPlage" soit une variable de type "Range" tu dois utiliser le mot "Set" pour la définir ce que ton code ne fais pas. Si tu prenais la bonne habitude de déclarer tes variables en les affublant du bon type.. cela aurait généré une erreur de type 91 ...
Remplace ceci : MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18)) Par Set MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
Dans le cas d'un oubli du mot "Set" jumelé au fait que tu n'as pas déclaré ta variable..le résultat obtenu par la ligne de code suivante est très aléatoire...car ce que tu passes comme argument n'est pas un objet "Range" comme la fonction le demande mais une variable de Type "Variant()" (tableau ) ou de type "Double"
resultat = WorksheetFunction.Sum(MaPlage)
Salutations!
"Titi" a écrit dans le message de news: Bonjour à tous,
J'ai un problème avec une feuille fractionner. En effet lorsque je fais la selection d'une plage sur une feuille fractionner (Fenêtre/Fractionner), j'ai une erreur, "La méthode Range de l'objet _worksheet a échouée !" Alors que si la feuille n'est pas fractionner, l'erreur n'apparait pas.
Sub TEST() Application.ScreenUpdating = False Set MonClasseur = Workbooks.Open(strCheminRendRT & strRT, 0, True) Set MaFeuille = MonClasseur.Worksheets("Production")
Pour la variable "MaPlage" soit une variable de type "Range"
tu dois utiliser le mot "Set" pour la définir ce que ton code ne
fais pas. Si tu prenais la bonne habitude de déclarer tes variables
en les affublant du bon type.. cela aurait généré une erreur de
type 91 ...
Remplace ceci :
MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
Par
Set MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
Dans le cas d'un oubli du mot "Set" jumelé au fait que tu n'as
pas déclaré ta variable..le résultat obtenu par la ligne de code
suivante est très aléatoire...car ce que tu passes comme argument
n'est pas un objet "Range" comme la fonction le demande mais
une variable de Type "Variant()" (tableau ) ou de type "Double"
resultat = WorksheetFunction.Sum(MaPlage)
Salutations!
"Titi" <fraguelrock@cybergafi.com> a écrit dans le message de news: 1142598644.886077.323780@i39g2000cwa.googlegroups.com...
Bonjour à tous,
J'ai un problème avec une feuille fractionner. En effet lorsque je
fais la selection d'une plage sur une feuille fractionner
(Fenêtre/Fractionner), j'ai une erreur, "La méthode Range de l'objet
_worksheet a échouée !"
Alors que si la feuille n'est pas fractionner, l'erreur n'apparait pas.
Sub TEST()
Application.ScreenUpdating = False
Set MonClasseur = Workbooks.Open(strCheminRendRT & strRT, 0, True)
Set MaFeuille = MonClasseur.Worksheets("Production")
Pour la variable "MaPlage" soit une variable de type "Range" tu dois utiliser le mot "Set" pour la définir ce que ton code ne fais pas. Si tu prenais la bonne habitude de déclarer tes variables en les affublant du bon type.. cela aurait généré une erreur de type 91 ...
Remplace ceci : MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18)) Par Set MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
Dans le cas d'un oubli du mot "Set" jumelé au fait que tu n'as pas déclaré ta variable..le résultat obtenu par la ligne de code suivante est très aléatoire...car ce que tu passes comme argument n'est pas un objet "Range" comme la fonction le demande mais une variable de Type "Variant()" (tableau ) ou de type "Double"
resultat = WorksheetFunction.Sum(MaPlage)
Salutations!
"Titi" a écrit dans le message de news: Bonjour à tous,
J'ai un problème avec une feuille fractionner. En effet lorsque je fais la selection d'une plage sur une feuille fractionner (Fenêtre/Fractionner), j'ai une erreur, "La méthode Range de l'objet _worksheet a échouée !" Alors que si la feuille n'est pas fractionner, l'erreur n'apparait pas.
Sub TEST() Application.ScreenUpdating = False Set MonClasseur = Workbooks.Open(strCheminRendRT & strRT, 0, True) Set MaFeuille = MonClasseur.Worksheets("Production")
Bonjour, Encore une fois merci à toi michDenis. J'oublie toujours quelque chose ! Par contre j'ai toujours une erreur, du fait de l'adressage R1C1, si je désigne ma plage en mode A1 je n'est pas l'erreur !? c'est une histoire de style de référence sans doute ?
Merci, Titi.
Bonjour,
Encore une fois merci à toi michDenis. J'oublie toujours quelque chose
!
Par contre j'ai toujours une erreur, du fait de l'adressage R1C1, si je
désigne ma plage en mode A1 je n'est pas l'erreur !? c'est une
histoire de style de référence sans doute ?
Bonjour, Encore une fois merci à toi michDenis. J'oublie toujours quelque chose ! Par contre j'ai toujours une erreur, du fait de l'adressage R1C1, si je désigne ma plage en mode A1 je n'est pas l'erreur !? c'est une histoire de style de référence sans doute ?