Bonjour,
Je ne peux pas fournir les classeurs car confidentiels.
J'ai un premier classeur avec une colonne qui comporte des numéros d'identifications. Je dois aller dans un autre classeur où il existe une colonne avec les mêmes numéros et un nom (par exemple "2654-Ours") et copier/coller une information de la ligne correspondante dans mon premier classeur (par exemple copier l'information "Pelage noir" du deuxième classeur dans le premier).
J'aimerai faire une macro pour que à chaque fois qu'un numéro est rentré dans le premier classeur, j'appuie sur mon macro et directement il va chercher l'information correspondante dans le deuxième (qui est relié à une base de donnée).
Le macro que j'ai fait pour l'instant fonctionne en appuyant sur la touche en ayant sélectionné la case où le numéro qu'on veut est présent, le voici :
Le problème est que la boucle ne fait absolument rien, alors qu'elle est censé parcourir tout le deuxième classeur à la recherche du même numéro que le premier et extraite des informations. Je suis absolument débutant en VBA.
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
39
40 Sub Copier() Dim FichierBase As Variant Dim FichierCdp As Variant Dim Text As String Dim TextRecherche As String Dim Donnnee As String Dim i As Integer 'Acceleration du traitement des données Application.ScreenUpdating = False Application.DisplayAlerts = False FichierCdp = ThisWorkbook.FullName TextRecherche = ActiveCell.Value i = 1 'Ouverture fenêtre de selection du fichier d'entrée FichierBase = Application.GetOpenFilename Do While Cells(i, 5) <> Empty Workbooks.Open (FichierBase) Text = Range("E" & i) Donnee = Range("H" & i) ActiveWorkbook.Close If InStr(1, Text, TextRecherche) Then Workbooks.Open (FichierCdp) Set FichierCdp.Sheets("Extract Nomcl projets S34") = ActiveSheet Range("R" & i) = Donnee End If i = i + 1 Loop End Sub
Merci de votre aide
Partager