Set r = Sheets("livraison").Columns(1).Find("*" & Me.TextBox1.Text & "*", , xlValues, xlWhole)
'définit la recherche r (recherche la valeur de la TextBox1 dans la colonne 1 de l'onglet "Feuil1")
Private Sub Btrechercher_Click()
' Merci à Robert Barbatruc de excel-downloads.com pour cette macro
'Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'à la sortie de la TextBox1
Dim r As Range 'déclare la variable r (Recherche)
Dim x As Byte 'déclare la variable x (incrément de textbox)
Set r = Sheets("livraison").Columns(1).Find("*" & Me.TextBox1.Value & "*", , xlValues, xlWhole) 'définit la recherche r (recherche la valeur de la TextBox1 dans la colonne 1 de l'onglet "Feuil1")
If Not r Is Nothing Then 'condition si il existe au moint une occurrence trouvée
For x = 1 To 4 'boucle sur les 4 textboxes -----Modifié pour récupérer le TextBox 1
Me.Controls("TextBox" & x).Value = r.Offset(0, x - 1).Value 'récupère les informations de la ligne de r
Next x 'prochaine textbox de la boucle
End If 'fin de la condition
End Sub
Private Sub BtAjouter_Click()
Dim derligne As Integer
If MsgBox("Confirmez-vous l'ajout des nouvelles don̩es?", vbYesNo, "comfimation") = vbYes Then
derligne = Sheets("livraison").Range("A456541").End(xlUp).Row + 1
Cells(derligne, 1) = Me.TextBox1.Value: Me.TextBox1.Value = "" 'si pas de Boucle
Cells(derligne, 2) = Me.TextBox2.Value: Me.TextBox2.Value = "" 'Idem
Cells(derligne, 3) = Me.TextBox3.Value: Me.TextBox3.Value = "" 'Idem
Cells(derligne, 4) = Me.TextBox4.Value: Me.TextBox4.Value = "" 'Idem
'ou une Boucle pour vider les Controls
For i = 1 To 4 'si pas Me.TextBox1.Value = "" etc etc
Me.Controls("TextBox" & i).Text = ""
Next
End If
End Sub
mets le code ou fichier modifiémais quand je fais une recherche il va ma cherche le premier nom et celui que je veux de plus
Pour trouver la dernière ligne :Comment définir la variable derligne? quel code?
Dim Derlig As long '&
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Dim DernCol As Integer '%
DernCol = Split(Range("A" & Derlig).CurrentRegion.Address, "$")(3)
Oui tu peux faire une recherche sur 2 caractères , mais le problème sera la même Lolquand je fais une recherche ex: je recherche a la recherche va sur la première Textbox ou se trouver tata peut on faire la recherche sur les 2 premières lettre.
DernCol = Split(Range("A" & Derlig).CurrentRegion.Address, "$")(4) '4 au lieu de 3
Private Sub Btmodifier_Click()
Dim Derlig As Long '&
Derlig = Worksheets("livraison").Range("A" & Rows.Count).End(xlUp).Row
Dim DernCol As Integer '%
DernCol = Split(Range("A" & Derlig).CurrentRegion.Address, "$")(4) '4 au lieu de 3
Set r = Sheets("livraison").Columns(1).Find("*" & Me.TextBox1.Text & "*", , xlValues, xlWhole) 'définit la recherche r (recherche la valeur de la TextBox1 dans la colonne 1 de l'onglet "Feuil1")
' If Not r Is Nothing Then 'condition si il existe au moint une occurrence trouvée
'définit la recherche r (recherche la valeur de la TextBox1 dans la colonne 1 de l'onglet "Feuil1")
If MsgBox("Confirmez-vous la modification des nouvelles don̩es?", vbYesNo, "comfimation") = vbYes Then
' derligne = r.Row
DernCol = Split(Range("A" & Derlig).CurrentRegion.Address, "$")(4) '4 au lieu de 3
Cells(Derlig, 1) = TextBox1.Value 'L'erreur etait ici le nom de la variable DerLig
Cells(Derlig, 2) = TextBox2.Value 'L'erreur etait ici le nom de la variable DerLig
Cells(Derlig, 3) = TextBox3.Value 'L'erreur etait ici le nom de la variable DerLig
Cells(Derlig, 4) = TextBox4.Value 'L'erreur etait ici le nom de la variable DerLig
End If
' End If
End Sub