Re : probleme dans une base de données
Bonjour tout le monde ;Catrice
je viens d'utiliser ce fichier pour un autre usage mais avec des références uniques, par contre le list box apparait pour des ref uniques.
je souhaite que vous modifiez le code dessous pour éliminer le list box et que le code fait seulement des opérations de copier coller (pour éviter la fonction recherchev) !!!.
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").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, 12) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 6).Resize(1, 1).Value
Target.Offset(0, 13) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 7).Resize(1, 1).Value
Target.Offset(0, 14) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 8).Resize(1, 1).Value
Target.Offset(0, 15) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 13).Resize(1, 1).Value
Target.Offset(0, 17) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 14).Resize(1, 1).Value
Target.Offset(0, 19) = MaZoneRef.Offset(Application.Match(Target, MaZoneRef, 0) - 1, 15).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