cathodique
XLDnaute Barbatruc
Bonsoir,
J'ai besoin de votre aide. Avec cette macro, j'extrais des valeurs d'une feuille. jusque là ça va, je saisis un code en colonne A les cellules correspondantes se mettent à jour. Par contre je bloque, pour vider ces cellules quand je vide la cellule de la colonne A (NoMat).
En vous remerciant.
J'ai besoin de votre aide. Avec cette macro, j'extrais des valeurs d'une feuille. jusque là ça va, je saisis un code en colonne A les cellules correspondantes se mettent à jour. Par contre je bloque, pour vider ces cellules quand je vide la cellule de la colonne A (NoMat).
En vous remerciant.
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NoMat As Integer, Lcal As Integer, C As Range
If Not Intersect(Range("A3:A17"), Target) Is Nothing Then
Application.EnableEvents = False
If IsNumeric(Target) = True And Target <> "" Then
NoMat = Target.Value
Lcal = Target.Row
Set C = Sheets("Mat").[A:A].Find(NoMat, LookIn:=xlValues)
If Not C Is Nothing Then
Sheets("calcul").Range("C" & Lcal) = Sheets("Mat").Cells(C.Row, 3) 'denomination
Sheets("calcul").Range("C" & Lcal + 1) = Sheets("Mat").Cells(C.Row, 4) 'fabricant
Sheets("calcul").Range("C" & Lcal).Offset(, 3) = Sheets("Mat").Cells(C.Row, 5) 'densité
Sheets("calcul").Range("C" & Lcal).Offset(, 5) = Sheets("Mat").Cells(C.Row, 6) 'absorption
End If
End If
End If
Application.EnableEvents = True
' 'si on efface le NoMat les valeurs s'effacent (le problème)
' Sheets("calcul").Range("C" & Lcal) = "" 'denomination
' Sheets("calcul").Range("C" & Lcal + 1) = "" 'fabricant
' Sheets("calcul").Range("C" & Lcal).Offset(, 3) = "" 'densité
' Sheets("calcul").Range("C" & Lcal).Offset(, 5) = "" 'absorption
End If
End Sub