Erreur d'execution '1004':
Lekip
-
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
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
-
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+-
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) -
-
-
-
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)???
-
-
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+ -
Bonjour,
Je recupere et vous tiens au courant. -
Re,
Monsieur est un plaisantin, votre bouton 201 n'a pas d'evenement programme!!!!!!
Je continue la lecture. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re,
Fichiers compresse:
https://www.cjoint.com/?BIBpgECQ8X9
J'ai suppose que l'onglet de donnees a lire est: Total!!!!!! -
-
Re,
C'est votre fichier modife que je vous ai retourne!!!!!!!!! -
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!!!