Je chercher à faire une recherchev dans chacun des fichiers ouvert, dans la feuille RAA, à la cellule K19, Recherchev(b19;;[RA.xlsx]Comptes!$A:$C;3;0). Actuellement, la macro m'affiche le texte suivant (et non pas la valeur) à la case désignée: «IFERROR(VLOOKUP(B19,myrange,3,0),"")». Quelqu'un pourra me corriger svp ?
Code vba : 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
41
42
43
44
45
46
47
48
49 Sub macro_ouvrir_fichiers() ' ' macro_ouvrir_fichiers Macro ' Dim cheminDossier As String Dim fichier As String Dim classeur As Workbook Dim ws As Worksheet Dim ww As Worksheet Dim lastRow As Long 'Spécifiez le chemin d'accès complet du dossier contenant les fichiers cheminDossier = "C:\Documents\TEST" ' Désactivez les mises à jour d'écran pour améliorer les performances Application.ScreenUpdating = False ' Vérifiez si le dossier existe If Dir(cheminDossier, vbDirectory) = "" Then MsgBox "Le dossier spécifié n'existe pas.", vbExclamation Exit Sub End If ' Obtenez le premier fichier dans le dossier fichier = Dir(cheminDossier & "\*.xls*") ' Bouclez à travers tous les fichiers du dossier Do While fichier <> "" 'Ignorer les dossiers et les fichiers cachés If (GetAttr(cheminDossier & "\" & fichier) And vbDirectory) <> vbDirectory And Left(fichier, 1) <> "." Then ' Ouvrez le fichier Set Workbooks.Open (cheminDossier & "\" & fichier) ' Ajoutez ici le code pour effectuer des opérations sur le fichier ouvert Set ws = ActiveWorkbook.Sheets("RAA") lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row Set cell = Range("B19") Set ww = Workbooks("RA.xlsx").Worksheets("Comptes") Set myrange = Columns("A:C") With ws.Range("K19:K" & lastRow) .Formula = IfError(VLookup(B19, myrange, 3, 0), """") .Value = .Value End With cell.Select ' Fermez le fichier en enregistrant les modifications ActiveWorkbook.Close SaveChanges:=True End If ' Obtenez le fichier suivant fichier = Dir Loop ' Réactivez les mises à jour d'écran Application.ScreenUpdating = True ' Affichez un message indiquant que l'opération est terminée MsgBox "Tous les fichiers ont été ouverts avec succès.", vbInformation End Sub
Partager