Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 01/09/2008, 14h26   #1 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 16
Par défaut Traitement d'Excel depuis Access

salut azertix et autres developateurs

j'ai testé le code de cette discussion
et je rencontre un pb à ce niveau :

Citation:
Envoyé par azertix Voir le message
Set oWSht = oWkb.Worksheets("nom_de_la_feuille_concernée_par_limportation") 'mettez ici le nom de la feuille qui contient les données à importer
lorsque je rentre le nom de la feuille en dur voici l'erreur indiquée :
l'indice n'appartient pas à la sélection

et lorsqu'il s'agit d'une variable :
incompatibilié de type

si vous avez une cle, ca me serait d'un grand secours

merci d'avance

Dernière modification par AlainTech ; 01/09/2008 à 23h11
turbo_cro est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 15h04   #2 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par turbo_cro Voir le message
salut azertix et autres developateurs

j'ai testé ce code
et je rencontre un pb à ce niveau :

...
montre nous ton code plutôt que celui à azertix , et précise nous le nom de ton classeur et de ta feuille..
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h04   #3 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 16
Par défaut

voilà le code (désolé, il y'a un gros paquet indigeste à un moment donné)
j'ai fait tout comme indiqué

Code :
Private Sub Commande1_Click()
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
 
'text2 = chemin access au ficier excel
'text3 = nom table à alimenter
'text4 = nom feuille à importer (feuil2)
 
Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open(Text2) Set oWSht = oWkb.Worksheets(Text4) 
 
i = 11
DoCmd.SetWarnings False
While oWSht.Range("I" & i).Value <> ""
If DCount("*", [Text3], "[N° PA] LIKE '" & oWSht.Cells(i, 1) & "'") = 0 Then
 
cSQL = "insert into [text3] ( [FILIALE], [ANNEE], EOTP, [DATE CREATION], [DATE DECLENCHEMENT], PR, [CODE SST], [N° ITEM], [N° SERIE], [POOL], [CODE CLIENT], [TYPE REP], [PIECE/ACCESSOIRE], [TYPE MAT REP], FAMILLE, VARIANTE, [REF ARTICLE], [MOT/MODULE], [EQE SBH], [EQE DSO], MO, MATIERE, [CAFG ECG], [SST ECG], [CP ECG], [MAT REP], [MAT NEUVE], [H MO] ) values (" & Chr(34) & oWSht.Cells(i, 1) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 2) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 3) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 4) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 5) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 6) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 7) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 8) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 9) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 10) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 11) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 12) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 13) & Chr(34) & " , " _
& Chr(34) & oWSht.Cells(i, 14) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 15) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 16) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 17) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 18) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 19) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 20) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 21) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 22) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 23) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 24) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 25) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 26) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 27) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 28) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 29) & Chr(34) & ");"
 
 
DoCmd.RunSQL cSQL
  
End If
 
i = i + 1
Wend
 
DoCmd.SetWarnings True
 
End Sub

Dernière modification par AlainTech ; 01/09/2008 à 23h11 Motif: Balises [code]
turbo_cro est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h22   #4 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

sur qu'elle ligne l'erreur ?


et ici :
Code :
 
...
Set oWkb = oApp.Workbooks.Open(Text2) 
Set oWSht = oWkb.Worksheets(Text4)
..
 
tu as bien 2 lignes ?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h22   #5 (permalink)
Membre expérimenté
 
Avatar de azertix
 
Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 575
Par défaut

Bonjour, tu as oublié les guillemets, c'est pour ça

Sans variable :
Code :
Set oWkb = oApp.Workbooks.Open("C:\monfichier.xls") 
Set oWSht = oWkb.Worksheets("mafeuille")
Avec variable :
Code :
Dim monxls As String
Dim nomfeuille As String
monxls = "C:\monfichier.xls"
nomfeuille = "mafeuille"
Set oWkb = oApp.Workbooks.Open(monxls) 
Set oWSht = oWkb.Worksheets(nomfeuille)
__________________
Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h42   #6 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par azertix Voir le message
Bonjour, tu as oublié les guillemets, c'est pour ça
..
pas besoin de guillemet si Text4 et bien un textbox
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h49   #7 (permalink)
Membre expérimenté
 
Avatar de azertix
 
Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 575
Par défaut

Une zone de texte sur une feuille Excel ?
Je ne savais même pas que ça existait
Moi je ne suis que sur Access. Je connais peu Excel
__________________
Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 16h58   #8 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par azertix Voir le message
Une zone de texte sur une feuille Excel ?
Je ne savais même pas que ça existait
Moi je ne suis que sur Access. Je connais peu Excel
ça existe ... mais personne n'as dit que cette zone de texte était sur la feuille excel.. vu le code je la verrai plutôt sur un userform access...
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 09h27   #9 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 16
Par défaut

non mais quelle quiche !

oui zai oublié les guillemets !

merci pour votre aide !

finalement, j'ai fait une public fonction
j'ai rentré certains éléments en dur, d'autres en variable


merci encore
turbo_cro est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 11h53   #10 (permalink)
Membre expérimenté
 
Avatar de azertix
 
Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 575
Par défaut

Ah, je me disais bien aussi
Bon ben content que ton problème soit résolu.
Bonne continuation
__________________
Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 12h11   #11 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par turbo_cro Voir le message
non mais quelle quiche !

oui zai oublié les guillemets !

merci pour votre aide !

finalement, j'ai fait une public fonction
j'ai rentré certains éléments en dur, d'autres en variable


merci encore
Il manque des " mais pas au lignes citées...
Code :
 
Set oWkb = oApp.Workbooks.Open(Text2) 
Set oWSht = oWkb.Worksheets(Text4)
..
plutôt dans les requête SQL qui suivent....


Bon finalement c'était quoi tes Text2, Text4 ...?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 12h12   #12 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par turbo_cro Voir le message
non mais quelle quiche !

oui zai oublié les guillemets !

merci pour votre aide !

finalement, j'ai fait une public fonction
j'ai rentré certains éléments en dur, d'autres en variable


merci encore
Il manque des " mais pas au lignes citées...
Code :
 
Set oWkb = oApp.Workbooks.Open(Text2) 
Set oWSht = oWkb.Worksheets(Text4)
..
plutôt dans les requêtes SQL qui suivent....


Bon finalement c'était quoi tes Text2, Text4 ...?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 12h48   #13 (permalink)
Membre expérimenté
 
Avatar de azertix
 
Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 575
Par défaut

Du moment que son code fonctionne ...

Je pense que Text2 et Text4 sont les noms de ses variables
__________________
Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 13h01   #14 (permalink)
Invité régulier
 
Date d'inscription: août 2008
Messages: 16
Par défaut

oui exact !

text2 correspond au chemin de mon fichier
et text4 au nom de l'onglet

que je renseigne dans le formulaire


merci encore
turbo_cro est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 13h19   #15 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 036
Par défaut

Citation:
Envoyé par turbo_cro Voir le message
oui exact !

text2 correspond au chemin de mon fichier
et text4 au nom de l'onglet

que je renseigne dans le formulaire


merci encore
ben c'est des textbox non ?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide