Bonjour,
J'ai un problème avec une macro pour ouvrir automatiquement les fichiers qu'un utilisateur choisit dans une liste.
Dans un premier temps la macro fonctionnait bien losrque l'utilisateur choisissait un ou plusieurs fichiers. Mais ce programme générait une erreur si l'utilisateur cliquait sur le bouton Annuler ou sur la croix de fermeture de la boîte de dialogue. J'ai donc rajouté des instructions pour résoudre ce problème. Malheureusement cela ne fonctionne pas et génére une erreur de type 13 lorsque je sélectionne un ou plusieurs fichiers. Je pense que le problème vient de la valeur de la variable OuvrirFichiers mais je n'arrive pas à trouver de solution !
L'un d'entre vous a t'il une solution à m'apporter ? D'avance merci.
	
	
	
	
	
		
	
		
			
		
		
	
				
			J'ai un problème avec une macro pour ouvrir automatiquement les fichiers qu'un utilisateur choisit dans une liste.
Dans un premier temps la macro fonctionnait bien losrque l'utilisateur choisissait un ou plusieurs fichiers. Mais ce programme générait une erreur si l'utilisateur cliquait sur le bouton Annuler ou sur la croix de fermeture de la boîte de dialogue. J'ai donc rajouté des instructions pour résoudre ce problème. Malheureusement cela ne fonctionne pas et génére une erreur de type 13 lorsque je sélectionne un ou plusieurs fichiers. Je pense que le problème vient de la valeur de la variable OuvrirFichiers mais je n'arrive pas à trouver de solution !
L'un d'entre vous a t'il une solution à m'apporter ? D'avance merci.
		Code:
	
	
	Sub OuvertureDeFichiers()
Dim OuvrirFichiers As Variant
MsgBox ("valeur de OuvriFichiers =" & OuvrirFichiers)
'affichage de la boîte de dialogue Ouvrir
OuvrirFichiers = Application.GetOpenFilename("Tous les fichiers Microsoft Excel, *.xls", , , , 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 sélectionné 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 la liste des fichiers et proposition d'ouverture
        rep = MsgBox("L'utilisateur a sélectionné 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)
                        Workbooks.Open Filename:=OuvrirFichiers(compteur)
                    Next compteur
            End If
'si un seul fichier a été sélectionné, il est ouvert
Else
    Workbooks.Open Filename:=OuvrirFichiers(1)
End If
End Sub