recoverybis
XLDnaute Nouveau
Bonjour,
il y a peu de temps LONE WOLF que je remercie à nouveau ainsi que tous les autres membres qui m'ont apporté leur aide m'a élaboré une macro complexe mais redoutablement efficace. Explication, je lance une recherche via un Userform dans une feuille source une fois la cible identifiée cette dernière est copiée ainsi que toute la ligne sur laquelle elle se trouve, ensuite l'ensemble est exporté vers la feuille de destination et ça fonctionne à merveille. Seulement, je souhaiterais comprendre le sens du code qui la compose même en vulgarisant à l'extrême cela me permettrait de progresser. Merci à tous ceux qui se pencheront sur la question.
voilà le code
Dim plage As Range, cel As Range, derlig As Long, lig As Long, col As Long, premaddress
Application.ScreenUpdating = False
With Sheets("BD")
derlig = .Range("a" & Rows.Count).End(xlUp).Row
Set plage = .Range("a2:a" & derlig)
End With
Set cel = plage.Find(TextBox1, , xlValues, xlWhole)
If Not cel Is Nothing Then
premaddress = cel.Address
Do
With Sheets("Temp")
lig = .Range("a" & Rows.Count).End(xlUp).Row + 1
For col = 1 To 22
.Cells(lig, col) = cel.Offset(0, col - 1)
Next col
End With
Set cel = plage.FindNext(cel)
Loop While Not cel Is Nothing And cel.Address <> premaddress
End If
End Sub
il y a peu de temps LONE WOLF que je remercie à nouveau ainsi que tous les autres membres qui m'ont apporté leur aide m'a élaboré une macro complexe mais redoutablement efficace. Explication, je lance une recherche via un Userform dans une feuille source une fois la cible identifiée cette dernière est copiée ainsi que toute la ligne sur laquelle elle se trouve, ensuite l'ensemble est exporté vers la feuille de destination et ça fonctionne à merveille. Seulement, je souhaiterais comprendre le sens du code qui la compose même en vulgarisant à l'extrême cela me permettrait de progresser. Merci à tous ceux qui se pencheront sur la question.
voilà le code
Dim plage As Range, cel As Range, derlig As Long, lig As Long, col As Long, premaddress
Application.ScreenUpdating = False
With Sheets("BD")
derlig = .Range("a" & Rows.Count).End(xlUp).Row
Set plage = .Range("a2:a" & derlig)
End With
Set cel = plage.Find(TextBox1, , xlValues, xlWhole)
If Not cel Is Nothing Then
premaddress = cel.Address
Do
With Sheets("Temp")
lig = .Range("a" & Rows.Count).End(xlUp).Row + 1
For col = 1 To 22
.Cells(lig, col) = cel.Offset(0, col - 1)
Next col
End With
Set cel = plage.FindNext(cel)
Loop While Not cel Is Nothing And cel.Address <> premaddress
End If
End Sub