Ouverture d'un fichier avec macro

Fermé
popey - 27 nov. 2009 à 14:04
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 nov. 2009 à 09:38
Bonjour,

J'ai un bout de code vba qui me permet d'ouvrir un fichier :

Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("F:\Résolution de probléme Qualité\Suivi plan d'amélioration.xls")
Set ws = wb.Worksheets(1)
End Sub

Le tit soucie que j'ai sais que si je change de PC mais clée USB change de numéro et dc le lien ne fonctionne plus.

Y'a t'il un moyen de palier à cela ?

Merci
A voir également:

8 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
27 nov. 2009 à 14:15
Je suppose que tu utilise ton fichier sur la clé

donc au démarrage

récupère le chemin avec
Mon chemin = thisworkbook.path

de cette manière tu peux l'utiliser partout.
0
Te suis pas trop je met sa ou dans le code ? dsl je suis débutant
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
27 nov. 2009 à 14:34
J'ai un bout de code vba qui me permet d'ouvrir un fichier :


Public monChemin as string


Private Sub CommandButton1_Click()
monchemin = thisworkbook.path

Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open(monChemin & "\" &"Résolution de probléme Qualité\Suivi plan d'amélioration.xls")
Set ws = wb.Worksheets(1)
End Sub
0
Re merci de ton aide j'ai remplacer le code mais il m'affiche "erreur d'exécution 1004" m'indiquant que le fichier est introuvable ?

J'aurais oublié un truck ?
0

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

Posez votre question
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
27 nov. 2009 à 17:46
Bonjour,
Pouvez-vous préciser si le fichier est stocker au même endroit sur chaque PC ?
Exemple disque [F:] , répertoire [Résolution de probléme Qualité] et fichier [Suivi plan d'amélioration.xls]

Salutations.
Jean-Pierre
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
27 nov. 2009 à 18:01
mais oui mais c'est évident!!!

ton fichier doit se trouver dans F:\Résolution de probléme Qualité\
j'avais supposé à tort qu'il se trouvait sur la racine.

Public monChemin as string


Private Sub CommandButton1_Click()
monchemin = thisworkbook.path

Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open(monChemin & "\" &Suivi plan d'amélioration.xls")
Set ws = wb.Worksheets(1)
End Sub
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
27 nov. 2009 à 19:16
bonjour ou Re

Fonction pour trouver la lettre de la (et la seule) clé USB connectée

Function lettre_usb()
'a partir d'un vbscript -WMH trouvé sur site US
ordi = "."
Set objet_WMI = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & ordi & "\root\cimv2")
Set liste_pilotes = objet_WMI.ExecQuery _
    ("Select * from Win32_LogicalDisk")
For Each pilote In liste_pilotes
    If pilote.DriveType = 2 Then
        lettre_usb = pilote.DeviceID
        Exit Function
    End If
Next
lettre_usb = "aucune clé connectée"
End Function
------
Sub test()
pilote = lettre_usb

End Sub
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 nov. 2009 à 09:38
Bonjour,
Et donc je termine

Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open(lettre_usb & "\Résolution de probléme Qualité\Suivi plan d'amélioration.xls")
Set ws = wb.Worksheets(1)
End Sub 



en dessous tu copies colles la fonction du post précédent
tu ouvres ainsi ton fichier amélioration quelquesoit l'endroit où se trouve le classeur de ta macro

on aurait pu aussi extraire les 2 premières lettres de thisworkbook.path

Set wb = Workbooks.Open( left(thisworkbook.path,2) & "\Résolution de probléme Qualité\Suivi plan d'amélioration.xls")
0