Utiliser donnee d'un fichier ouvert sous VBA

Résolu/Fermé
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011 - 31 mai 2010 à 11:15
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011 - 31 mai 2010 à 15:32
Bonjour,

J'ai un ptit probleme de syntax.

En fait j ai besoin d aller chercher des donnes dans un formulaire pour creer une base de donnees.
Ce que j ai fait, c'est creer une inputbox qui m ouvre le fichier; et mon probleme c'est "d'activer" cette page.

mon code c'est:


Private Sub Ajout_Donnes_Click()

donnees = InputBox("Route_du_fichier", "Route")

Shell "explorer.exe " & donnees

Windows(donnees).Activate
Range("A8").Select
Selection.Copy
Windows("Basededonnees.xls").Activate
Range("A2").Select
ActiveSheet.Paste
End Sub

En fait c est au niveau du windows(donnees).activate que j ai un probleme, j arrive pas a trouver la bonne syntax pour utiliser les donnees de la feuille que j ai ouverte (qui selon moi n'a d'ailleurs pas besoin d'etre ouverte;je serai tenté de virer le "Shell")

pour info, la route est du type: W:\\basdedonnees\basededonnees.xls

En esperant etre clair.

Merci
A voir également:

5 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
31 mai 2010 à 11:25
Bonjour

Il faut indiquer la feuille où se trouve les données. Si tu as 10 feuilles dans le classeur tu as 10 cellules A1 etc ...

Private Sub Ajout_Donnes_Click()
Dim wkIn As Workbook
Dim wkOut As Workbook

donnees = InputBox("Route_du_fichier", "Route")

Set wkIn = Workbooks(donnees).Open
Set wkOut = Workbooks("Basededonnees.xls")

wkOut.Worksheets(1).Range("A2").Value = wkIn.worksheets(1).Range("A8").Value

Set wkIn = Nothing
Set wkOut = Nothing

End Sub


;o)
0
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011
31 mai 2010 à 12:03
Je sai pas pourquoi mais il y a un probleme avec le:

Set wkIn = Workbooks(donnees).Open

C'est peut etre a cause de la route que je donne qui est:
W:\LS\Catman\Toma de datos visitas.xls
j ai meme essayer sans le .xls mais rien n'y fait.
Une idée? je continue de chercher de mon cote.

mais sinon, ca m'a l air nikel; l'idee du wkIn et wkOut me parait adequat.

Merci
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
31 mai 2010 à 13:10
Bonjour, bonjour Polux..
Quand tu met le chemin en "dur" faut des guillements
Set wkIn = Workbooks("W:\LS\Catman\Toma de datos visitas.xls").Open

A+
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
31 mai 2010 à 13:19
Bonjour lermite,

Il semble que le chemin soit saisi par l'utilisateur. Je suppose que la variable "donnees" est de type String ou Variant.
Il faut regarder si le chemin est correctement tapé. Si le fichier est sur un réseau, s'assurer également des droits d'accès au lecteur "W:\".
Nicoroth peut faire un test en passant le nom du fichier en dur comme tu le prescrit.

A suivre

;o)
0

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

Posez votre question
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011
31 mai 2010 à 15:32
Merci a tous.

J ai resolu le probleme en passant par un GetOpenFileName.

Merci a tous
0