|
|
|
|
Bonjour,
j'aimerai savoir s'il etait possible de recuperer le chemin du dossier que je recherche, et de le mettre dans une case Excel.
De plus l'ouverture de fichiers ne marchent pas.
voici mon code
Private Sub CommandButton1_Click()
Dim OuvrirFichiers As Variant
'modification du chemin par defaut'
ChDir ("c:\")
'affichage de la boite de dialogue Ovrir
OuvrirFichiers = Application.GetOpenFilename(filefilter:="classeur Microsoft Excel(*.xls),*.xls,All Files (*.*),*.*,PageWeb(*.htm;*.html),*.htm;*.html", filterindex:=2, Title:="Ouverture des fichiers d'inspections", MultiSelect:=False)
'si l 'utilisateur a selectionné plusieurs fichiers
If UBound(OuvrirFichiers) > 1 Then
Dim rep As Long
Dim liste As String
Dim compteur As Byte
For compteur = 1 To UBound(OuvrirFichiers)
liste = liste & vbCr & OuvrirFichiers(compteur)
Next compteur
'affichage de l'ensemble de la liste des fichiers et proposition d'ouverture
rep = MsgBox("L'utilisateur a selectionné plusieurs fichiers. En voici la liste." & liste & vbCr & "voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "ouvrir les fichiers ?")
'Ouverture des fichiers en cas de réponse positive
If rep = vbYes Then
For compteur = 1 To UBound(OuvrirFichiers)
Worbooks.Open Filename:=OuvrirFichiers(compteur)
Next compteur
End If
'si un seul fichier a été selectionné, il est ouvert
Else
Workbooks.Open Filename:=OuvrirFichiers(1)
End If
End Sub
Configuration: Windows 2000 Internet Explorer 6.0
Bonjour,
|
Merci de ta reponse, c'est vrai qu'avec Multiselect=True, le systeme fonctionne.
|
En ajoutant le code pour fermer la boite de recherche si l'on clique sur annuler, celui-ci me fait bugué mon programme.
Private Sub CommandButton1_Click()
Dim OuvrirFichiers As Variant
'modification du chemin par defaut'
ChDir ("c:\")
'affichage de la boite de dialogue Ouvrir
OuvrirFichiers = Application.GetOpenFilename(filefilter:="classeur Microsoft Excel(*.xls),*.xls,All Files (*.*),*.*,PageWeb(*.htm;*.html),*.htm;*.html", filterindex:=2, Title:="Ouverture des fichiers d'inspections", MultiSelect:=True)
If OuvrirFichiers = False Then
MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _
vbOKOnly + vbCritical, "fin de la procédure"
Exit Sub
End If
'si l 'utilisateur a selectionné plusieurs fichiers
If UBound(OuvrirFichiers) > 1 Then
Dim rep As Long
Dim liste As String
Dim compteur As Byte
For compteur = 1 To UBound(OuvrirFichiers)
liste = liste & vbCr & OuvrirFichiers(compteur)
Next compteur
'affichage de l'ensemble de la liste des fichiers et proposition d'ouverture
rep = MsgBox("L'utilisateur a selectionné plusieurs fichiers. En voici la liste." & liste & vbCr & "voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "ouvrir les fichiers ?")
'Ouverture des fichiers en cas de réponse positive
If rep = vbYes Then
For compteur = 1 To UBound(OuvrirFichiers)
Worbooks.Open Filename:=OuvrirFichiers(compteur)
Next compteur
End If
'si un seul fichier a été selectionné, il est ouvert
Else
Workbooks.Open Filename:=OuvrirFichiers(1)
End If
End Sub |
Re,
If OuvrirFichiers = "" Then
MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _
vbOKOnly + vbCritical, "fin de la procédure"
Exit Sub
End If
L'expérience instruit plus sûrement que le conseil. (André Gide) Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) |
Désolé Lermite,
If OuvrirFichiers = False Then
MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _
vbOKOnly + vbCritical, "fin de la procédure"
Exit Sub
End If
ce que tu me conseilles : If OuvrirFichiers = "" Then cela ne marche pas si Multiselect est a True, mais marche si il est a False. J'ai modifié mon programme pour le simplifier, et j'ai abandonné le fait de pouvoir selectionné plusieurs dossier a ouvrir. voici le programme maintenant. Private Sub CommandButton1_Click()
Dim OuvrirFichiers As Variant
Dim aux As Variant
'modification du chemin par defaut'
ChDir ("c:\")
'affichage de la boite de dialogue Ovrir
OuvrirFichiers = Application.GetOpenFilename(filefilter:="classeur Microsoft Excel(*.xls),*.xls,All Files (*.*),*.*,PageWeb(*.htm;*.html),*.htm;*.html", filterindex:=2, Title:="Ouverture des fichiers d'inspections", MultiSelect:=False)
If OuvrirFichiers = "False" Then
Exit Sub
End If
Workbooks.Open Filename:=OuvrirFichiers
MsgBox "chemin " & ActiveWorkbook.Path
End Sub
merci encore |