Bonjour,
J'ai créé un fichier qui crée un nouvel onglet avec de nouvelles données chaque mois. Cependant, d'un mois à l'autre (d'un onglet à l'autre), je peux avoir des données semblables.
J'ai donc créé une colonne M "Commentaire Mois" et une colonne L "Commentaire Mois-1" pour regarder si j'ai déjà eu cette ligne.
La colonne L du dernier onglet comprend un RechercheV pour aller chercher le commentaire M de l'onglet précédent.
Onglet précédent :
Dernier Onglet :
J'ai donc en L4 : =RECHERCHEV(E4;'17-02-2021'!$A4:$P4;13;VRAI)
Voici mon code VBA:
Sub RechercheV()
'RechercheV Anciens commentaires
Dim sht As Worksheet, rng As Range
Set sht = Worksheets(ActiveSheet.Index - 1)
Set rng = sht.Range("A4:P500")
ActiveSheet.Range("L4").Formula = "=VLOOKUP(E4," & rng.Address(external:=True) & ",13,TRUE)"
'Faire défiler L4 sur toute la colonne L
Range("L4").Select
Range("L4").Select
Selection.AutoFill Destination:=Range("L4:L134")
Range("L4:L134").Select
End Sub
Le problème c'est que ma valeur recherchée n'a pas l'air d'être prise en compte :
- J'aurai souhaité mettre une plage A4:P500 mais cela ne trouve pas de résultat
- La rechercheV marche avec une plage de $A4:$P4 que je fais défiler (se transforme en $A5:$P5 etc.) MAIS ne fonctionne pas si je change l'ordre des lignes de mon onglet précédent (si je mets par exemple un filtre sur la date, il va me marquer le commentaire de la ligne 4, et pas celui de la ligne où j'ai un mon sérial semblable).
De plus, lorsque je marque dans le code
Set rng = sht.Range("A4:P4")
il me sort $A$4:$P$4 , et je ne vois pas comment supprimer les dollars. J'ai tenté en faisant
Set rng = sht.Range("A" & i & ":P" & i)
mais pareil, il me sort $A:$P, ce qui ne convient pas.
________
Je cherche donc à obtenir une formule rechercheV qui regarde toute mes lignes de l'onglet précédent pour regarder si j'ai déjà eu le même sérial; et que quelques soient les filtres des onglets, il me garde le commentaire du sérial correspondant.
Merci d'avance !