Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PB - Selection Plage avec une feuille fractionner

3 réponses
Avatar
Titi
Bonjour =E0 tous,

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")

somme =3D Workbooks("Synth=E8se
Rendement.xls").Worksheets("Jour").Cells(11, 3)
MaPlage =3D MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
resultat =3D WorksheetFunction.Sum(MaPlage)
Workbooks("Synth=E8se Rendement.xls").Worksheets("Jour").Cells(11, 3) =3D
somme + resultat

etc...
End sub

Je souhaite laisser le fractionnement si possible

D'avance merci,
Titi

3 réponses

Avatar
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.
Avatar
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")

somme = Workbooks("Synthèse
Rendement.xls").Worksheets("Jour").Cells(11, 3)
MaPlage = MaFeuille.Range(Cells(r, 18), Cells(r2, 18))
resultat = WorksheetFunction.Sum(MaPlage)
Workbooks("Synthèse Rendement.xls").Worksheets("Jour").Cells(11, 3) somme + resultat

etc...
End sub

Je souhaite laisser le fractionnement si possible

D'avance merci,
Titi
Avatar
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 ?

Merci,
Titi.