Bonjour

Après plusieurs heures de recherches et essais infructueux je me décide à demander un coup de main ou plutôt de souris et de clavier

Mon projet consiste à mettre a jour une feuille d'un classeur local avec un fichier de données qui m'est fourni par ma direction. L'architecture de mon classeur est F1 "Explications" (avec le bouton pour la macro), F2 "Liste", F3 "DataImport"
Je souhaite supprimer les lignes qui n'existent plus et ajouter les nouvelles, sans toucher aux modifications et ajouts manuels (dans certaines cellules)
L'idéal serait que le code fonctionne pour tout type de tableau, afin qu'il puisse être utilisé dans d'autres circonstances.

J'ai donc pris le parti de rechercher le fichier source de manière manuelle et de copier les données sur une feuille du classeur de travail.
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
31
32
33
34
35
36
37
38
 
Sub RecupereDataFichier()
'Déclaration des variables
Dim ListeFichier As Variant
Dim MonClasseur As Workbook
 
 
'Desactivation du presse Papiers des messages d'alerte et du rafraichissement de l'écran
Application.CutCopyMode = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
 
 
'Efface les anciennes données
Worksheets("DataImport").Cells.ClearContents
 
'Recherche du fichier
ListeFichier = Application.GetOpenFilename(Title:="Sélectionnez le fichier", Buttontext:="Cliquez")
 
'Prevoir le cas du bouton annuler
If ListeFichier <> False Then
 
'On affecte le fichier sélectionné
Set MonClasseur = Application.Workbooks.Open(ListeFichier)
 
    'Copie des données de la feuille 1
    MonClasseur.Sheets(1).Range("A2").CurrentRegion.Copy
    'On colle les données dans la feuille DataImport
    ThisWorkbook.Worksheets("DataImport").Range("A1").PasteSpecial xlPasteValues
 
 
    'Fermeture du classeur source
    MonClasseur.Close
     Application.CutCopyMode = True
     Application.ScreenUpdating = True
    End If
 
    End Sub
Il me reste maintenant à supprimer les lignes obsolètes et ajouter les nouvelles de la feuille 3 "DataImport" à la feuille 2 "Liste". Et là rien de ce que j'ai essayé as fonctionné. Dans le cas précis sur lequel je travaille la colonne qui permet le "tri" est la colonne G de la feuille 2, mais idéalement j'aimerais que la "lettre" de la colonne qui serve au tri puisse être saisie dans la cellule L6 en feuille 1.

Merci d'avance de me filer un coup de main