Bonjour
Après avoir fait une petite recherche sur le forum, je suis tombé la dessus :
	
	
	
	
	
		
issu de ce sujet : https://www.excel-downloads.com/threads/importer-une-feuille-excel-depuis-un-autre-classeur.176033/
Je souhaite l'adapter pour insérer 2 fichiers dans mon fichier de synthèse, voilà ce que j'ai écrit (recopié) mais ça ne marche pas tout à fait :
	
	
	
	
	
		
2 problèmes apparaissent :
- je suis obligé d'éxécuter et d'insérer cette macro dans le fichier qui va me servir de résultat
- J'ai une erreur d'exécution '9': L'indice n'appartient pas à la sélection
- le code ne m'apparaît pas très optimisé.
Merci de m'aider.
Cordialement.
	
		
			
		
		
	
				
			Après avoir fait une petite recherche sur le forum, je suis tombé la dessus :
		Code:
	
	
	Sub c()
Dim nom$, WBKSource As Workbook
With Application.FileDialog(msoFileDialogOpen)' ton bout de code
   .Title = "Choisissez le fichier"
    .Filters.Clear
    .Filters.Add "Fichier Excel", "*.xls*"
    .AllowMultiSelect = False
        If .Show <> 0 Then
        nom = .SelectedItems(1)
            Set WBKSource = Workbooks.Open(nom) ' mon petit bout à moi ;-)
           With WBKSource
                .Sheets("Activités").Copy Before:=ThisWorkbook.Sheets(1)
                .Close False
            End With
        Else
        MsgBox "Aucun fichier n'a été sélectionné", , "Erreur": Exit Sub
        End If
End With
End Sub
	Je souhaite l'adapter pour insérer 2 fichiers dans mon fichier de synthèse, voilà ce que j'ai écrit (recopié) mais ça ne marche pas tout à fait :
		Code:
	
	
	Sub IMPORT()
Dim nom$, nom2$, WBKSource, WBKSource2 As Workbook
' sélectionne et copie la feuille Rejets du fichier sélectionné
' et la colle dans la feuille avant la feuille Synthese
With Application.FileDialog(msoFileDialogOpen) '
   .Title = "Choisissez le fichier où les Rejets sont comptabilisés"
    .Filters.Clear
    .Filters.Add "Fichier Excel", "*.xlsx*"
    .AllowMultiSelect = False
        If .Show <> 0 Then
        nom = .SelectedItems(1)
            Set WBKSource = Workbooks.Open(nom) ' mon petit bout à moi ;-)
           With WBKSource
                .Sheets("Rejets").Copy before:=ThisWorkbook.Sheets("Synthese")
                .Close False
            End With
        Else
        MsgBox "Aucun fichier n'a été sélectionné", , "Erreur": Exit Sub
        End If
End With
' sélectionne et copie la feuille Totaux du fichier sélectionné
' et la colle dans la feuille avant la feuille Synthese
With Application.FileDialog(msoFileDialogOpen) '
   .Title = "Choisissez le fichier où les totaux sont comptabilisés"
    .Filters.Clear
    .Filters.Add "Fichier Excel", "*.xlsx*"
    .AllowMultiSelect = False
        If .Show <> 0 Then
        nom2 = .SelectedItems(1)
            Set WBKSource2 = Workbooks.Open(nom) ' mon petit bout à moi ;-)
           With WBKSource2
                .Sheets("Totaux").Copy before:=ThisWorkbook.Sheets("Synthese")
                .Close False
            End With
        Else
        MsgBox "Aucun fichier n'a été sélectionné", , "Erreur": Exit Sub
        End If
End With
End Sub
	- je suis obligé d'éxécuter et d'insérer cette macro dans le fichier qui va me servir de résultat
- J'ai une erreur d'exécution '9': L'indice n'appartient pas à la sélection
- le code ne m'apparaît pas très optimisé.
Merci de m'aider.
Cordialement.