celiahd
Messages postés4Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention 7 avril 2010
-
9 juin 2008 à 15:10
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
9 juin 2008 à 15:24
Bonjour,
Je suis débutant sur VBA pour Access et j'ai tenté de faire un code pour récupérer les données de cellules d'une feuille Excel pour les transférer vers une Table Access. Le rpoblème est le nombre de ligne est complètement variable, j'ai donc utiliser ce code :
Private Sub Maj_Click()
Dim Excel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Ligne
On Error GoTo Err_MajDesinv_Click
If (insertdonnée1.Value <> "" And InsertDonnée2 <> "" And InsertDonnée3 <> "" And InsertDonnée4 <> "") Then
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
fichier = Excel.GetOpenFilename("Fichier Type Excel,*.xls", , "Sélectionnez le fichier")
Set Classeur = Excel.Workbooks.Open(fichier)
nomdefichier = Excel.ActiveWorkbook.FullName
With Excel
.Range("C7").Select
.Selection.End(xlDown).Select
End With
Le souci est que ce code fonctionne une seule fois par "session" Access, quand je le relance arrivé à la ligne 'Ligne = Selection.Row', j'obtiens le message :
"Le serveur distant n'existe pas ou n'est pas disponible". Où est l'erreur ?
Je travaille sur le réseau de mon entreprise.
Par souci de confidentialité j'ai modifié le nom des tables et fichier dans ce message.
celiahd
Messages postés4Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention 7 avril 2010 9 juin 2008 à 15:23
En fait je viens de trouver la raison, enfin je crois j'ai oublié les lignes :
Classeur.Close
Excel.Quit
Juste après le transfert par contre maintenant j'obtiens le message de façon aléatoire : Variable Objet ou variable deBloc With non définie.
J'ai donc supprimer la ligne 'Ligne = Selection.row" et apparemment ça marche.
Voilà mes excuses pour le dérangements.
Par contre si vous voyez d'autres erreurs n'hésitez pas.