1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Public C As Range
Public n As Integer
Private Sub CommandButton1_Click()
Set C = Worksheets("nomdelafeuille").Range("A2:A20000").Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) ' Remplacer Range("A2:A20000") par là ou ca doit chercher et Find(TextBox1.Value) par le textbox ou combobox qui aura la valeur à chercher
' Si le nom est déjà dans le classeur:
If Not C Is Nothing And Not IsEmpty(C) Then
n = C.Row
UserForm1.TextBox1.Value = Sheets("nomdetafeuille").Cells(n, "A").Value
UserForm1.TextBox2.Value = Sheets("nomdetafeuille").Cells(n, "B").Value
UserForm1.Combobox3.Value = Sheets("nomdetafeuille").Cells(n, "C").Value
Else
X = MsgBox("Pas de valeurs trouvées. Voulez vous entrer ces données dans la base de données? ", vbYesNo)
If X = 6 Then ' si oui est cliqué, alors X=6
Dim LigFin As Long
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("nomdetafeuille")
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
LigFin = Sheets("nomdetafeuille").Cells(Rows.Count, 1).End(xlUp).Row
IntLigne = ActiveSheet.Cells(2, 1).End(xlUp).Row + 1
Dim Lg As String
Lg = Sheets("nomdetafeuille").Cells(65500, 1).End(xlUp).Row + 1
Sheets("nomdetafeuille").Cells(Lg, "A").Value = UserForm1.TextBox1.Value
Sheets("nomdetafeuille").Cells(Lg, "B").Value = UserForm1.TextBox2.Value
Sheets("nomdetafeuille").Cells(Lg, "C").Value = UserForm1.TextBox3.Value
Else
GoTo fin
End If
End If
fin:
End Sub |
Partager