bonjour, voici mon problème :
je souhaite automatiser une recherche de date dans un fichier excel mais en faisant un balayage d'onglets (le nom de l'onglet constituant une variable.
Voici le code que j'utilise :
Sub maj_janvier()
Dim i As Integer
Dim dernligne As Integer
Dim CHERCHE As String
Dim ONGLET As Worksheet
Dim REF As String
Dim PLAGE As Range, trouve As Range
Dim result As Variant
Sheets("TDB_").Activate
dernligne = Range("a" & Rows.Count).End(xlUp).Row + 1
'
For i = 16 To dernligne
REF = Cells(i, 1).Value
CHERCHE = Cells(1, 3).Value
For Each ONGLET In ThisWorkbook.Worksheets
If ONGLET.Name = REF Then
Set ONGLET = ActiveWorkbook.Worksheets(i)
Set PLAGE = Range("a15:d100")
Set trouve = Application.WorksheetFunction.VLookup(CHERCHE, PLAGE, 3, False)
If trouve Is Nothing Then
.Cells(i, 4) = ""
Else
.Cells(i, 4) = trouve
End If
End If
Next ONGLET
Next i
Set ONGLET = Nothing
Set PLAGE = Nothing
Set trouve = Nothing
End Sub
J'ai une erreur avec la fonction vlookup alors que le test que j'ai pu réaliser portait sur une valeur existante, mais j'ai l'impression que c'est en lien avec ma plage.....
Je joins un fichier en exemple (qui ne correspond pas exactement au fichier réel mais permet d'illustrer ma requête).
En clair, en colonne A j'ai le nom de mes onglets, en colonne C, je voudrais qu'il récupère en fonction de l'onglet la valeur associée...
Je ne sais pas si je suis trés claire mais merci beaucoup pour votre aide.