Utiliser donnee d'un fichier ouvert sous VBA

Résolu
Nicoroth Messages postés 55 Statut Membre -  
Nicoroth Messages postés 55 Statut Membre -
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

5 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  2. Nicoroth Messages postés 55 Statut Membre
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  4. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Nicoroth Messages postés 55 Statut Membre
     
    Merci a tous.

    J ai resolu le probleme en passant par un GetOpenFileName.

    Merci a tous
    0