VBA IF & Vlookup

martin01

XLDnaute Nouveau
Bonjour,

Je début dans la version VBA d'excel bien que je me débrouille quelque peu avec l'utilisation classique.
Je suis à la recherche d'un bout de code afin d'effectuer un point de controle.

Feuile 1 : formulaire de saisie
Feuille 2 : Base de donnée implémentée

Ce que fait ma macro : Insérer un ligne en dessous de la première sur la Feuille. Copier les informations de la Feuille 1 et les coller en A2 (soit la nouvelle ligne insérée). Je suis certian qu'il y a moyen d'améliorer cette partie mais ce n'est pas mon premier but. Ce que je recherche est plutot simple je pense.

Je vousdrai qu'il effectuer un Vlookup dans ma feuille 2 pour savoir si l'enregistrement est déjà effectué. S'il l'est, alors j'affiche un message disant qu'il l'est et ceci annule le reste de la macro. S'il n'est pas dans la base de donnée, alors j'effectue le reste du code, à savoir l'implémentation de la nouvelle ligne d'information.

Mon problème est quant à la rédaction VBA du code... Je vous ai mis le code en feuille 1 et en rouge les formule version classique.

Je sais pas si je suis assez clair. Je vous ai mis un exemple en pièce jointe.

Un très grand merci pour votre aide.

M.
 

Pièces jointes

  • Vlookup_IF.xlsm
    19.9 KB · Affichages: 38

kjin

XLDnaute Barbatruc
Re : VBA IF & Vlookup

bonjour,
Code:
Sub test1()
With Sheet1
    tablo = Application.Transpose(Range("D6:D8").Value)
End With
With Sheet2
    c = Application.Match(tablo(1), .Columns(1), 0)
    If Not IsError(c) Then
        MsgBox "déjà enregistré"
        Exit Sub
    End If
    .Rows(2).Insert Shift:=xlDown
    .Range("A2:C2") = tablo
End With
End Sub
A+
kjin