Erreur d'execution '1004':

Lekip -  
 Lekip -
Bonjour,

Malgré la présence de nombreux posts sur cette erreur, je n'arrive pas à résoudre mon problème:

Mon objectif est de récupérer la valeur Max entre plusieurs cellules pour l'afficher dans une case Text de Access (et ce à plusieurs reprises), après avoir ouvert mon fichier excel à l'aide d'un bouton sous Access (commande200)

Lorsque j'ouvre mon access, et que je clique sur mon bouton pour récupérer mes données (commande201), ma première donnée (maxT) est récupérée, et pas la deuxième (maxC).
Puis lorsque je relance sans avoir fermé Access, même ma première valeur n'est pas récupéré....
Pour être plus explicite, voici mes lignes de code:

1 Private Sub commande201_click() 'Ouverture du ficher excel

2 Dim xls As Excel.Application
3 On Error GoTo errHnd
4 Set xls = CreateObject("Excel.Application")
5 xls.Workbooks.Open "c:\Documents and Settings\bandreux\Desktop\Contenu13.xls"
6 xls.Visible = True
7 Exit Sub
8 errHnd:
9 MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source

10 End Sub

11 Private Sub commande200_click() 'Récuperer les données

'temps de refroidissement
12 Dim MaxT As Integer
13 MaxT = WorksheetFunction.Max(Range("E31"), Range("E32"))
14 Form_Contenu13B.Texte138.Value = MaxT

'taux de combustion
15 Dim MaxC As Integer
16 MaxC = WorksheetFunction.Max(Range("D31"), Range("D32"))
17 Form_Contenu13B.Texte140.Value = MaxC

'Enrichissement
18 Form_Contenu13B.Texte136.Value = ActiveSheet.Range("C15").Value

19End Sub

Les lignes 13 et 16 sont celles qui me provoquent l'erreur "La méthode'Range' de l'objet '-Global' a échoué"

Cela fais plusieurs heures que j'essaye de tourner et retourner mon code, mais sans résultat...
A savoir que je vais devoir récupérer pleins de données de cette feuille Excel, et j'ai bien peur que mes soucis ne fassent que commencer.

Dernière info importante, c'est la première fois que je fais du VBA...

Merci d'avance à quiconque me viendra en aide

8 réponses

f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,
Vous avez cree un objet application EXCEL xls, vous devez mettre xls. devant toutes les instructions EXCEL

ex:

MaxT = xls.WorksheetFunction.Max(Range("E31"), Range("E32"))

A+
1
Lekip
 
Merci pour l'info, malheureusement ca n'a pas l'air de fonctionner, toujours le même message d'erreur.
Sinon, peut-être y a t-il une autre manière d'arriver à mes fins comme créer une feuille excel qui va me récupérer la valeur max, puis juste récupérer la valeur de la cellule ensuite pour ma boite de texte Access?

J'en profite aussi, (mais peut-être faut-il que j'ouvre un autre sujet sur le forum...?)^petite question de débutant, est-ce que le fait que "xls" ai été crée dans la sub précédente m'empêche de le réutiliser dans une autre sub (question valable avec tous les objets ou variable que j'aurai à créer)
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
Vous faite bien de le rappeler, car je n'ai pas fait attention a cela. Il faut definir l'objet xls a l'endroit ou vous en avez besoin si c'est le seul endroit ou definir l'objet en variable public de facon a pouvoir l'utiliser partout dans votre code.
0
Lekip
 
Ca c'est une super info, ca va m'aider pour tout le reste... Donc pour résumer, si je créer un objet ou une variable à utiliser ailleurs dans mon progr, c'est du Public Sub?!

Mais....snif... ca n'a pas résolu mon PB....
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
Question prealable:

Userform ou feuille de calcul?????
0
Lekip
 
Disons qu'étant auto didacte, y a encore des gros trous dans la raquette, comme:
Qu'elle différence entre Userform et feuille de calcul (si j'ai compris, le premier est une boite de dialogue, le second juste une feuille Excel, auquel cas c'est bien d'une feuille de calcul que je veux récuperer la valeur max)???
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

exemple de code:

https://www.cjoint.com/?BIBjnGs33jK

Quand vous travaillez au niveau d'un formulaire, ne mettez pas nomduformulaire.textexxxx parce que si vous changez le nom du formulaire cela sème la pagaille. Ecrivez textexxx.value ou Me.textexxxx.

A+
1
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Je recupere et vous tiens au courant.
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

Monsieur est un plaisantin, votre bouton 201 n'a pas d'evenement programme!!!!!!
Je continue la lecture.
0
Lekip
 
Si seulement c'était juste une plaisanterie... Mais non, c'est juste que je suis une bille!...dsl
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

Fichiers compresse:

https://www.cjoint.com/?BIBpgECQ8X9

J'ai suppose que l'onglet de donnees a lire est: Total!!!!!!
0
Lekip
 
C'est bien ca!
Merci d'avance, en espérant que tu arrives encore à m'éclairer!
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
Pas de probleme.
0
Lekip
 
A tout hasard, aurais-tu une solution à me proposer depuis vendredi???
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Ce que j'ai propose le 27 sept. 2012 à 15:07 ne convient pas??????
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
C'est votre fichier modife que je vous ai retourne!!!!!!!!!
0
Lekip
 
En fait, c'est parfait, j'ai plus qu'à continuer sur cette lancé pour le reste de ma feuille!

Encore merci, vous m'ôtez une belle épine du pied!!!
0