R = Application.WorksheetFunction.Transpose(T)
Sub LignesMotRecheche() Dim S As Worksheet Dim rep Dim R As Range Dim var Dim dep& Dim i& Dim j& Dim k& Dim cpt& Dim T() Dim A$ Dim B$ rep = Application.InputBox("Tapez le mot à rechercher", "Lignes contenant le mot recherché") If rep False Or rep "" Then Exit Sub B$ = LCase(rep) Set R = ActiveSheet.UsedRange dep& = R.Row var = R For i& = 1 To UBound(var, 1) For j& = 1 To UBound(var, 2) A$ = LCase(Trim(var(i&, j&))) 'commodité d'écriture If InStr(1, A$, B$) > 0 Then cpt& = cpt& + 1 ReDim Preserve T(1 To UBound(var, 2) + 1, 1 To cpt&) T(1, cpt&) = i& + dep& - 1 For k& = 1 To UBound(var, 2) T(k& + 1, cpt&) = var(i&, k&) Next k& Exit For End If Next j& Next i& If cpt& = 0 Then MsgBox "Aucune occurence de ''" & rep & "'' n'a été trouvée." Exit Sub Else Set S = Sheets.Add(before:=ActiveSheet) Set R = S.Range(S.Cells(1, 1), S.Cells(UBound(T, 2), UBound(T, 1))) R = Application.WorksheetFunction.Transpose(T) le probleme et la End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim S As Worksheet Dim rep Dim R As Range Dim var Dim dep& Dim i& Dim j& Dim k& Dim cpt& Dim T() Dim A$ Dim B$
Dim S As Worksheet Dim rep as Variant Dim R As Range Dim var as Variant Dim dep As Long Dim i As Long Dim j As Long Dim k As Long Dim cpt As Long Dim T() As Variant Dim A As Long Dim B As Long
Forum > Visual Basic 6 > Divers