Améliorer une fonction

Bonsoir à tous,

J'ai récupérer une fonction sur le Net permettant d'aller chercher un dossier mes toujours dans Mes Documents.

Je souhaiterai me positionner directement en C:\FACTURE\TRAVAIL\SAUVEGARDE\ANNEE

Serait-il possible de l'améliorer en se sens.

Function Choix_Repertoire() As String

    'Déclaration d'une variable pour le dossier "Fd = Folder pour dossier"
    Dim Fd As FileDialog
    'Affectation de la variable
    Set Fd = Application.FileDialog(msoFileDialogFolderPicker) 'pour aller le dossier
    Fd.Show 'affichage de la boite
    'Affichage de l'explorateur
    Choix_Repertoire = Fd.SelectedItems(1)

End Function

D'avance merci à celui ou ceux qui interviendrons dans la discution.

Bonsoir,

Essayez ceci:

    Chemin = "C:\FACTURE\TRAVAIL\SAUVEGARDE\ANNEE"
    Ouvrir = Application.GetOpenFilename(filefilter:="tout,Chemin & *.*", Title:="Sélection")

Cdlt

Bonsoir Arturo83

Où dois je insérer ces lignes dans la fonction.

Bonsoir le fil

Ou alors avec la fonction

Function ChoixDossier(DefautPath As String, sTitre As String)
  Dim fd As FileDialog
  Set fd = Application.FileDialog(msoFileDialogFolderPicker)
  With fd
    .Title = sTitre
    .InitialFileName = DefautPath
    If .Show = -1 Then
      ChoixDossier = fd.SelectedItems(1)
    End If
  End With
  Set fd = Nothing
End Function

Que tu appelles

Dim sPath As String
sPath = ChoixDossier("C:\FACTURE\TRAVAIL\SAUVEGARDE\ANNEE","CHOIX du DOSSIER des FACTURES...")

A+

Re Bruno,

Là tu me compliques la vie

La fonction est appelé pas ce qui suit :

Sub AppelDossier()

    'Déclaration des variables
    Dim Rep As String ' Rep pour répertoire
    'Affectation des variables
    Rep = Choix_Repertoire
    'On teste si un dossier a bien été sélectionner
    If Rep <> vbNullString Then
        ActiveSheet.Range("G3") = Rep
    Else
        MsgBox "Pas de sélection de dossier", vbOKOnly + vbCritical, "ANNULER DOSSIER"
    End If

Call AfficheListeFichier
End Sub

Et là je vois pas comment faire. La fonction et la sub ci-dessus ne sont pas de moi hélas. Cela m'a l'air bien compliqué

Je ne sais pas où je dois insérer tes 2 dernières lignes.

re

C'est vrai que c'est tellement compliqué d'appeler une fonction

Sub AppelDossier()

    'Déclaration des variables
    Dim Rep As String ' Rep pour répertoire
    'Affectation des variables
    Rep = ChoixDossier("C:\FACTURE\TRAVAIL\SAUVEGARDE\ANNEE","CHOIX du DOSSIER des FACTURES...")
    'On teste si un dossier a bien été sélectionner
    If Rep <> vbNullString Then
        ActiveSheet.Range("G3") = Rep
    Else
        MsgBox "Pas de sélection de dossier", vbOKOnly + vbCritical, "ANNULER DOSSIER"
    End If

Call AfficheListeFichier
End Sub

Un peu de lecture

https://learn.microsoft.com/fr-fr/office/vba/language/concepts/getting-started/calling-sub-and-funct...

A+

Re Bruno,

Je suis confus, et j'avoue humblement que je ne maitrise pas vraiment le monde de la programmation. Ce n'est pas vraiment mon domaine.

Je n'ai pas la méthode et je manque de temps malgré que je sois à la retraite. Il y a tellement de choses à savoir et à maitriser dans ce domaine.

De plus, comme je l'ai évoqué, je ne fais que rendre un service à un ami. Ce projet me prends beaucoup de temps mais je n'en tirerai aucun subside.

Heureusement que votre site et bien d'autres existent, qu'on a la possibilité de soumettre nos problèmes et que des aidants comme toi interviennent pour nous apporter des solutions.

Je viens de tester ton bout de code, il fonctionne à merveille. Je te remercie encore une fois.

A+, car je reviendrai

Rechercher des sujets similaires à "ameliorer fonction"