Bonjour à tous,

J'ai fait un module afin d'automatiser l'import d'une base de données. Cependant, cette base change tous les mois, c'est-à-dire qu'il peut y avoir des lignes supplémentaires ou inversement.

J'aimerai donc pouvoir ouvrir le fichier à sélectionner, choisir la plage à importer et que la macro puisse continuer à tourner.

Je vous ai mis la macro juste en dessous, comme vous pouvez le voir le copier/coller se fait en fonction des cellules visibles uniquement, je souhaiterai donc qu'après avoir sélectionner la plage manuellement, l'utilisateur clique sur ENTER et la macro continue de fonctionner automatiquement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub ImportDIE()
'
' Import
' Importer base de données DI Eurose
'
' 
 
 
'Lancer cette macro en premier juste après la base obligation car l'ajout dans cette base est spécialement conçu pour être lancé en premier
 
Dim MonFichier
 
MonFichier = Application.GetOpenFilename("Fichiers Excel avec macro (*.xlsm),*.xlsm")
 
MsgBox ("Selectionner la plage à importer puis cliquer sur ENTER")
 
 
    Windows("Archive DNC.xlsm").Activate
    Range("B6:AU187").Select 'nombre de ligne peut varier
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    Windows("template import données obligataires infocentre_20180430.xlsm"). _
        Activate
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Name = "Base DIE"
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
 
End Sub
Après l'ouverture de la message box je ne sais pas quelle ligne écrire afin que l'utilisateur choissise la plage et clique sur enter !!


Merci d'avance pour votre aide