Re : probleme dans une base de données
Bonjour
dans le dernier fichier joint (calcul rendement Forum), j'ai un petit souci, en faite quotidiennement je copie beaucoup de références d'un autre fichier et je les colle dans la colonne REF PROD, les informations ne s'affichent pas directement, je suis obligé de faire F2 puis Entrée pour que le fichier affiche les données,
existe t-il une méthode pour que ça se fasse automatiquement sans a avoir a faire F2 puis entrés.
voilà le code du ma macro actuelle :
Public MaDest
Private Sub ListBox1_Click()
Sheets("Feuil1").Range(MaDest).Offset(0, 7) = Sheets("Feuil1").ListBox1.Column(1)
Sheets("Feuil1").Range(MaDest).Offset(0, 6) = Sheets("Feuil1").ListBox1.Column(2)
Sheets("Feuil1").Range(MaDest).Offset(0, 9) = Sheets("Feuil1").ListBox1.Column(3)
Sheets("Feuil1").Range(MaDest).Offset(0, 8) = Sheets("Feuil1").ListBox1.Column(4)
Sheets("Feuil1").Range(MaDest).Offset(0, 1) = Sheets("Feuil1").ListBox1.Column(4)
Sheets("Feuil1").Range(MaDest).Offset(0, 2) = Sheets("Feuil1").ListBox1.Column(5)
Sheets("Feuil1").Range(MaDest).Offset(0, 12) = Sheets("Feuil1").ListBox1.Column(6)
Sheets("Feuil1").ListBox1.Visible = False
ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row > 1 And Target.Rows.Count = 1 And Target.Columns.Count = 1 Then
If Target = "" Then Exit Sub
Application.EnableEvents = False
Set MaZoneRef = Sheets("Feuil2").Range("B2:" & Sheets("Feuil2").Range("B65536").End(xlUp).Address)
NbRef = Application.CountIf(MaZoneRef, Target)
Select Case NbRef
Case 0: Target = "Ref error !"
Case 1
Target.Offset(0, 7) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 1).Resize(1, 1).Value
Target.Offset(0, 6) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 2).Resize(1, 1).Value
Target.Offset(0, 9) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 3).Resize(1, 1).Value
Target.Offset(0, 8) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 4).Resize(1, 1).Value
Target.Offset(0, 1) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 4).Resize(1, 1).Value
Target.Offset(0, 2) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 5).Resize(1, 1).Value
Target.Offset(0, 12) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 6).Resize(1, 1).Value
Target.Offset(0, 14) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 7).Resize(1, 1).Value
Case Else
With Sheets("Feuil1").ListBox1
MaPos = Application.Match(Target, MaZoneRef, 0) - 1
.ListFillRange = "Feuil2!" & MaZoneRef.Offset(MaPos, 0).Resize(NbRef, 7).Address
.ColumnWidths = "40;120;40;30;30;30;30"
.Width = 345
.Visible = True
.Top = Target.Top
.Left = Target.Left
End With
MaDest = Target.Address
End Select
End If
Application.EnableEvents = True
End Sub