Bonjour à tous,
Dans un fichier excel servant de base au programme que je suis en train de créer, j'ai un onglet nommé "Feuil2" dont les colonnes A à F recoivent à l'ouverture les données émanant d'une autre fichier excel contenant une liste de noms (appellé " Export de données ")via ce code :
J'ai un onglet nommé "ListeALPHA" dans lequel je reprend les données des colonnes A à F de la feuil2 + une colonne G dans laquelle je met des annotations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Importation() Application.DisplayAlerts = False Application.ScreenUpdating = False Workbooks.Open Filename:= _ ThisWorkbook.Path & "\Export de données" ThisWorkbook.Worksheets("Feuil2").Range("A1:F216").Value = Sheets("ListeALPHA").Range("A1:F216").Value ActiveWorkbook.Close ' pour fermer le fichier ' End Sub
Lorsque des noms sont rajouter dans le fichier "Export de données", la Feuil2 de mon programme se met à jour à l'ouverture normalement et donc, lorsque j'incrémente les colonnes A à F de l'onglet ListeAlpha avec les données de la feuil2, celà décalle les infos de la colonne G de l'onglet ListeAlpha.
Pour être plus clair j'ai joins un fichier.
La situation est la suivante :
-Les onglets Feuil2 et ListeALPHA se sont mit à jour lors de l'ouverture précédente.
-Le fichier Export de données s'est vu rajouter des lignes de noms.
-A l'occasion d'une nouvelle ouverture, l'onglet Feuil2 se met à jours avec les nouveaux noms du fichier Export (ligne en rouge dans la Feuil2)
-Dans la feuille ListeAlpha, la ligne en rouge va se trouvée insérée à la même place que dans la Feuil2 et du coup, les données de la colonne G seront décallées et ne corresponderont plus.
J'aimerais donc trouver une façon de tester ligne par ligne les infos de la Feuil2 avec pour référence de recherche le numéro contenu dans la colonne C, et que si cette ligne existe déja dans la feuille ListeALPHA il ne se passe rien et, si la ligne n'existe pas dans la feuille ListeALPHA, cela incrémente la première ligne vide de la listeALPHA.
(J'ai commencé à élaborer le code suivant pour réaliser ce que je cherche à faire mais celui-ci n'incrémente pas la ListeALPHA) :
Merci par avance à ceux qui se pencheront sur mon problème
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 Sub Recopier_Lignes() Application.ScreenUpdating = False Sheets("ListeALPHA").Select Dim i As Long Dim Nom_ok As Range For i = 1 To 188 Set Nom_ok = Columns("C").Find(Sheets("Feuil2").Range("C" & i)) If Not Nom_ok Is Nothing Then Sheets("ListeALPHA").Range("C" & i) = Sheets("Feuil2").Range("C" & i) Else Sheets("ListeALPHA").Range("C180") = Sheets("Feuil2").Range("C" & i) End If Next i Sheets("Feuil1").Select End Sub
Laurent
Partager