Bonjour,
Je vous sollicite car je n'arrive pas à comprend pourquoi le passage sur sharepoint des fichiers ne permet plus à la macro de fonctionner.
Je m'explique :
Sur ma feuille macro je vais chercher des données d'un fichier sur l'explorateur grâce à UserForm :
J'arrive bien sur l'explorateur en revanche je bloque lorsque je décide de rapatrier mes données.
Pour info, en passant par le C\temp la macro fonctionne sans problème.
la macro bloque à "Open NomF For Input As #iFile" ci-dessous
Avez-vous une idée pourquoi le fait que les fichiers soient sur un sharepoint ça bloque le traitement ?
Merci par avance de votre aide
------------
Private Sub UsFMenu_Click()
RechercheFichier.Show
End Sub
------------
Private Sub CommandButton2_Click()
Dim NomF As Variant
NomF = chargerFichier("*.txt")
If NomF <> "" Then
Me.TBNouv.Text = NomF
End If
End Sub
--------------
Private Sub CommandButton4_Click()
Unload RechercheFichier
End Sub
------------
Private Function chargerFichier(TypeF As String)
' Ouvre un boite de dialogue de sélection de fichier permettant de sélectionner
' un fichier de type TypeF
' Déclaration des variables
Dim NomF As String
Dim fdlg As FileDialog
Dim vrtSelectedItem As Variant ' les noms de fichiers
Dim I As Long, ar
Dim iFile As Integer
Dim data
Dim ws As Worksheet
Dim sNomFichier As String
'Dim strItem As String ' le nom du fichier
NomF = ""
' Initialisation de la variable de l'objet FileDialog
Set fdlg = Application.FileDialog(msoFileDialogFilePicker)
' Spécifie les valeurs pour les principales propriétés
With fdlg
.Title = "Sélectionnez le fichier... " ' le titre de la boîte de dialogue
.Filters.Clear ' efface tous les filtres par défaut
'.Filters.Add "Fichier csv(.csv)", TypeF ' crée le filtre pour les fichiers texte
.InitialFileName = ActiveWorkbook.Path ' détermine le dossier par défaut
.AllowMultiSelect = False ' Autorise la sélection multiple
' L'utilisateur a cliqué sur le bouton
If .Show = -1 Then
' Parcour des différentes sélections
For Each vrtSelectedItem In .SelectedItems
NomF = vrtSelectedItem
Next vrtSelectedItem
' Si l'utilisateur clique sur Annuler...
Else
' vous pouvez faire un traitement particulier (facultatif)
End If
End With
Set fdlg = Nothing ' libère la mémoire
chargerFichier = NomF
Set ws = Sheets("Lecture") '// feuille où écrire les résultats
ws.UsedRange.Clear '// vider le contenu de la feuille
I = 1
iFile = FreeFile
'Ouvrir le fichier
Open NomF For Input As #iFile
'Lecture du fichier et écriture dans Excel
Do Until EOF(iFile)
Line Input #iFile, data
ws.Cells(I, 1) = data
I = I + 1
Loop
Close #iFile '// Fermer le fichier
End Function
-----------
Je vous sollicite car je n'arrive pas à comprend pourquoi le passage sur sharepoint des fichiers ne permet plus à la macro de fonctionner.
Je m'explique :
Sur ma feuille macro je vais chercher des données d'un fichier sur l'explorateur grâce à UserForm :
J'arrive bien sur l'explorateur en revanche je bloque lorsque je décide de rapatrier mes données.
Pour info, en passant par le C\temp la macro fonctionne sans problème.
la macro bloque à "Open NomF For Input As #iFile" ci-dessous
Avez-vous une idée pourquoi le fait que les fichiers soient sur un sharepoint ça bloque le traitement ?
Merci par avance de votre aide
------------
Private Sub UsFMenu_Click()
RechercheFichier.Show
End Sub
------------
Private Sub CommandButton2_Click()
Dim NomF As Variant
NomF = chargerFichier("*.txt")
If NomF <> "" Then
Me.TBNouv.Text = NomF
End If
End Sub
--------------
Private Sub CommandButton4_Click()
Unload RechercheFichier
End Sub
------------
Private Function chargerFichier(TypeF As String)
' Ouvre un boite de dialogue de sélection de fichier permettant de sélectionner
' un fichier de type TypeF
' Déclaration des variables
Dim NomF As String
Dim fdlg As FileDialog
Dim vrtSelectedItem As Variant ' les noms de fichiers
Dim I As Long, ar
Dim iFile As Integer
Dim data
Dim ws As Worksheet
Dim sNomFichier As String
'Dim strItem As String ' le nom du fichier
NomF = ""
' Initialisation de la variable de l'objet FileDialog
Set fdlg = Application.FileDialog(msoFileDialogFilePicker)
' Spécifie les valeurs pour les principales propriétés
With fdlg
.Title = "Sélectionnez le fichier... " ' le titre de la boîte de dialogue
.Filters.Clear ' efface tous les filtres par défaut
'.Filters.Add "Fichier csv(.csv)", TypeF ' crée le filtre pour les fichiers texte
.InitialFileName = ActiveWorkbook.Path ' détermine le dossier par défaut
.AllowMultiSelect = False ' Autorise la sélection multiple
' L'utilisateur a cliqué sur le bouton
If .Show = -1 Then
' Parcour des différentes sélections
For Each vrtSelectedItem In .SelectedItems
NomF = vrtSelectedItem
Next vrtSelectedItem
' Si l'utilisateur clique sur Annuler...
Else
' vous pouvez faire un traitement particulier (facultatif)
End If
End With
Set fdlg = Nothing ' libère la mémoire
chargerFichier = NomF
Set ws = Sheets("Lecture") '// feuille où écrire les résultats
ws.UsedRange.Clear '// vider le contenu de la feuille
I = 1
iFile = FreeFile
'Ouvrir le fichier
Open NomF For Input As #iFile
'Lecture du fichier et écriture dans Excel
Do Until EOF(iFile)
Line Input #iFile, data
ws.Cells(I, 1) = data
I = I + 1
Loop
Close #iFile '// Fermer le fichier
End Function
-----------