FORMULE Recherche En VBA

Bonsoir à tous,
Je sollicite votre aide. Mimimathy m’a déjà aidé mais le sujet est clôturé.
Sur le fichier joint, je voudrais avoir:

  • lorsque la colonne I de l’onglet Données est vide, les colonnes J, K, N sont automatiquement vides aussi au lieu de kes effacer manuellement.
    Merci à vous,
    Cordialement,

VBA RECHERCHE V2.xlsm (19,1 Ko)

Bonjour,
Il faut juste rajouter à la condition IF si la cellule est vide

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Ws As Worksheet, lig%
  Set Ws = Sheets("sources") ' Attribution de la variable Ws le nom de la feuille sources
  On Error Resume Next 'si le code produit n'existe pas,n'affiche pas d'erreur
  If Not Application.Intersect(Target, Range("I:I")) Is Nothing Then 'Sur Chgt dans une cellule colonne I
    lig = Target.Row '--> Ligne de la cellule en modification
        If Target.Value <> "" Then 'Si la cellule n'est pas vide
          'Réplication de RECHERCHEV()
          Cells(Target.Row, "J") = Application.WorksheetFunction.VLookup(Target.Value, Ws.Range("A:C"), 2, False)
          Cells(Target.Row, "K") = Application.WorksheetFunction.VLookup(Target.Value, Ws.Range("A:C"), 3, False)
          Cells(Target.Row, "N") = Cells(Target.Row, "K")
        Else 'Sinon je vide les colonnes J K & N
          Range("J" & lig) = ""
          Range("K" & lig) = ""
          Range("N" & lig) = ""
        End If
    End If
End Sub

VBA RECHERCHE V2 (1).xlsm (19,0 Ko)

1 « J'aime »

Bonjour, ça marche mais le soicis c’est que le vba ne fonctionne pas si je fais une copie ou une copie valeur. Le code ne fonctionne que si on saisie une à une les données dans la colonne I.
Merci

Re,
La demande de votre post ne concernait pas cette demande
Faudrait peut-être développer votre demande en étant plus explicite

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.