Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Chemin de dossier variable

  • Initiateur de la discussion Initiateur de la discussion gagletor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gagletor

XLDnaute Nouveau
Bonjour à tous,

Je dispose d'un macro me permettant de lister des feuilles excel d'un dossier sur le réseau dont une case est noté outils usé.
Je souhaiterai que le chemin d'acces du dossier soit variable afin que l'on puisse le modifier automatiquement par des bouton, sans passer par une macro.
J'ai dékà mis en macro mes bouton de selection de dossier, et le chemin d'acces s'enregistre dans la variable "module1.dossier"

Voici un c/c de ma macro se trouvant dans "macro"

Option Explicit
Option Base 1
Dim NbFichiers As Integer
Dim Tableau() As Variant
' On suppose que tous les fichiers contiennent les données dans Feuil1
Const NomFeuille As String = "Feuil1"
' Dossier de test
Const dossier As String = "N:\Q.S.E\Personnel\Essai excel\"
Const RchChaine As String = "outil usé"

Private Function ListeFichiersTableau(ByVal dossier As String)
Dim NomFichier As String


NbFichiers = 0
NomFichier = Dir(dossier)
Erase Tableau

Do While Len(NomFichier) > 0
NbFichiers = NbFichiers + 1
NomFichier = Dir()
Loop

If NbFichiers > 0 Then
ReDim Tableau(2, 1 To NbFichiers)
NbFichiers = 0
NomFichier = Dir(dossier)
Do While Len(NomFichier) > 0
NbFichiers = NbFichiers + 1
Tableau(1, NbFichiers) = NomFichier
Tableau(2, NbFichiers) = ExtraireValeur(dossier, NomFichier, NomFeuille, "M1")
NomFichier = Dir()
Loop
End If
End Function

Private Function ExtraireValeur(ByVal dossier As String, ByVal fichier As String, ByVal feuille As String, ByVal Cellule As String)
Dim argument As String
argument = "'" & dossier & "[" & fichier & "]" & feuille & "'!" & Range(Cellule).Address(, , xlR1C1)
ExtraireValeur = ExecuteExcel4Macro(argument)
End Function

Sub btnLecture_QuandClic()

ListeFichiersTableau dossier
RemplirListebox
ShOutilsUses.Show
End Sub

Private Sub RemplirListebox()
Dim i As Integer
ShOutilsUses.cboOutils.Clear
For i = 1 To NbFichiers
If Tableau(2, i) = RchChaine Then
ShOutilsUses.cboOutils.AddItem Tableau(1, i)
End If
Next
ShOutilsUses.cboOutils.ListRows = NbFichiers
End Sub

Je voudrais changer la ligne en rouge pour y mettre ma variable "module1.dossier. J'ai déjà testé : dim dossier as string et en dessous : dossier = module1.dossier, en rappelant la variable avant chaque macro//// petit problème, il me met des erreurs

J'espère que j'ai été assez précis dans mes propos, ne pas hésiter à me poser des questions.

En vous remerciant par avance

Bonne journée

greg
 
Re : Chemin de dossier variable

Bonjour
Ta variable porte un nom dans module1.
Déclares là en public. Par exemple pour Dossier
Public Dossier as string
à placer tout en haut avant le 1er sub ...
ainsi sa valeur est accessible depuis tous les sub

Elle ne doit surtout plus être déclarée ailleurs.
 
Re : Chemin de dossier variable

Merci beaucoup pour ta réponde, je viens d'essayer et mon programme à l'air de tourner comme il faut.

Je vais le faire tourner comme ça, je vous tiens au courant.

Encore merci

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
511
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…