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

La méthode range de l'objet worksheet a échoué !

2 réponses
Avatar
Titi
Bonjour à tous,

Voilà mon petit probleme, je souhaite récupérer des valeurs d'un
classeur depuis un autre. Seulement quand je veux définir une plage !
Déboguage !!!

Voici un bout de code

Depuis mon fichier x j'ouvre un fichier y


Public MonClasseur As Excel.Workbook
Public MonExcel As Excel.Application, mafeuille As Excel.Worksheet


MonExcel = New Excel.Application
MonExcel.ReferenceStyle = xlR1C1


Dim strChemin As String
strChemin = "\\server\DISK9GB1\Belinda\Couleur\Couleur2005.xls"

Set MonClasseur = MonExcel.Workbooks.Open(strChemin, 0, True)
Set mafeuille = MonClasseur.Worksheets("%TRICOLOR")

MonExcel.Visible = False



MaPlage = mafeuille.Range(Cells(3,1), Cells(4,1))

Resultat = WorksheetFunction.Sum(MaPlage)

ThisWorkbook.Worksheets("Jour").Cells(2,1) = Resultat


Blablabla
etc..


Déboguage a la ligne : MaPlage = mafeuille.Range(Cells(3,1), Cells(4,1))
"La méthode range de l'objet worksheet a échoué !"

Si je fait MonExcel = Excel.Application et non New Excel.Application

Cela fonctionne ?!

Qqun peut il éclairer ma lanterne ?
D'avance merci,

Titi

2 réponses

Avatar
Pierre Fauconnier
Bonjour

Excel, en tant qu'application "vba", ne peut pas être instanciée... C'est
pourquoi tu as un problème lorsque tu utilises MonExcel en tant que new
excel.application...

Cela étant, si tu travailles avec le VBA de Excel, tu n'es pas obligé
d'utiliser un objet excel.application pour déclarer MonClasseur.

Tu peux de suite utiliser
set MonClasseur = workbooks.Open...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Titi" a écrit dans le message de news:
%
Bonjour à tous,

Voilà mon petit probleme, je souhaite récupérer des valeurs d'un classeur
depuis un autre. Seulement quand je veux définir une plage ! Déboguage !!!

Voici un bout de code

Depuis mon fichier x j'ouvre un fichier y


Public MonClasseur As Excel.Workbook
Public MonExcel As Excel.Application, mafeuille As Excel.Worksheet


MonExcel = New Excel.Application
MonExcel.ReferenceStyle = xlR1C1


Dim strChemin As String
strChemin = "serverDISK9GB1BelindaCouleurCouleur2005.xls"

Set MonClasseur = MonExcel.Workbooks.Open(strChemin, 0, True)
Set mafeuille = MonClasseur.Worksheets("%TRICOLOR")

MonExcel.Visible = False



MaPlage = mafeuille.Range(Cells(3,1), Cells(4,1))

Resultat = WorksheetFunction.Sum(MaPlage)

ThisWorkbook.Worksheets("Jour").Cells(2,1) = Resultat


Blablabla
etc..


Déboguage a la ligne : MaPlage = mafeuille.Range(Cells(3,1), Cells(4,1))
"La méthode range de l'objet worksheet a échoué !"

Si je fait MonExcel = Excel.Application et non New Excel.Application

Cela fonctionne ?!

Qqun peut il éclairer ma lanterne ?
D'avance merci,

Titi


Avatar
Titi
Merci à toi Pierre

J'ai tout compris ! Et j'ai surtout compris que je suis dans l'erreur
depuis le debut !

Encore Merci.
Titi