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.
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.
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
Merci d'avance de me filer un coup de main
Partager