Aide VBA rechercheV

Bonjour,

je ne connais absolument pas le langage VBA et j'ai donc besoin de votre expertise s'il vous plait,

j'ai enregistrer une macro qui à partir d'une base de données créee un TCD et qui copie les données du TCD dans une nouvelle feuille nommée à la date du jour.

j'ai besoin de récupérer à l'aide d'une recherchev les données de la colonne " commentaire aci " de la veille et les mettre dans la meme colonne de la feuille créee chaque jour , mon problème est que les feuilles bougent et qu'il faut que j'indique '' feuille précédente " et non pas un nom de feuille.

en pièce jointe les deux tableaux à faire correspondre

merci pour votre aide

Bonjour,

A tester :

Dim derlig, numsheet As Integer, plg As Range, sht As Worksheet

derlig = ActiveSheet.Range("B8").End(xlDown).Row
numsheet = ActiveSheet.Index
Set sht = Worksheets(ActiveSheet.Index - 1)
Set plg = sht.Range("B8").CurrentRegion
ActiveSheet.Range("L9").Formula = "=IF(NOT(ISERROR(VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE))),IF(VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE)<>"""",VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE),""""),"""")"

Bonjour , j'ai copier coller ça ne marche pas, je suis vraiment très très novice je sais pas s'il faut réadapter quelque chose dans votre code

merci pour votre aide et votre temps

Bonjour,

1) ouvre ton classeur, sélectionne ta feuille du 01 février (celle que tu veux remplir avec les infos de la veille)

2) ALT + F11 t'ouvre la fenêtre VBA

3) Ouvre le module 1 (qui est vide)

4) Colles y ceci :

Sub test()
Dim derlig, numsheet As Integer, plg As Range, sht As Worksheet

derlig = ActiveSheet.Range("B8").End(xlDown).Row
numsheet = ActiveSheet.Index
Set sht = Worksheets(ActiveSheet.Index - 1)
Set plg = sht.Range("B8").CurrentRegion
ActiveSheet.Range("L9").Formula = "=IF(NOT(ISERROR(VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE))),IF(VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE)<>"""",VLOOKUP(B9," & plg.Address(external:=True) & ",11,FALSE),""""),"""")"
End Sub

5) Tu lances la macro en faisant attention de bien être sur une autre feuille que la première (car la macro cherche les infos dans la feuille précédente, donc il faut que celle-ci existe... )

Essaye et dis moi si ça marche, normalement tu n'as rien à adapter

un énorme merci !!! ça fonctionne parfaitement

Merci à toi pour ton retour

rebonjour,

j'ai fais quelques petites modifications sur le tableau et la formule ne fonctionne plus: je m'explique, j'ai remontée le tableau de 3 lignes et rajoutée une colonne. j'ai modifiée les cellules dans votre formule en respectant l'ordre mais rien n'y fait.

la recherchev démarre de la colonne C6 pour se mettre en M6.

j'ai un peu honte de ne pas y être arrivée pour être honnête. si vous pouvez encore m'aide ce serait formidable.

merci bcp

Bonjour,

Essaye ceci :

Sub recherchev()
Dim derlig, numsheet As Integer, plg As Range, sht As Worksheet

    derlig = ActiveSheet.Range("C6").End(xlDown).Row
    numsheet = ActiveSheet.Index
    Set sht = Worksheets(numsheet - 1)
    Set plg = sht.Range("C6:M" & derlig)

    ActiveSheet.Select
    Range("M6").Select
    ActiveCell.Formula = "=IF(ISERROR(VLOOKUP(C6," & plg.Address(external:=True) & ",11,FALSE)),"""",IF(VLOOKUP(C6," & plg.Address(external:=True) & ",11,FALSE)<>0,VLOOKUP(C6," & plg.Address(external:=True) & ",11,FALSE),""""))"
    Range("M6").AutoFill Destination:=Range("M6:M" & derlig)

End Sub

c'est parfait merci bcp !!!

Super !

Bonne continuation

Rechercher des sujets similaires à "aide vba recherchev"