je voudrais rechercher a l'aide d'une inputbox puis copier toutes les lignes dont une seule cellule contient un mot précis
Sub RechercheX() cherch = InputBox("Tapez le mot recherché") If cherch = "" Then Exit Sub End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionje n'est pas d'aide dans VBA
Sub Recherche() cherch = InputBox("Tapez le mot recherché") If cherch = "" Then Exit Sub With Worksheets(1).Range(Find) Set c = .Find(2, LookIn:=xlValues) If Not c Is Nothing Then Do With Worksheets(1).EntireRow With Worksheets("Sheet1").Range("A1:z500").Copy _ Destination:=Workbooks("name.xls").Worksheets("Sheet1").Activate End With End Sub
Sub LignesMotRecheche() Dim S As Workbooks 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 = books.news(before:=ActiveSheet) R = Application.WorksheetFunction.Transpose(T) End If End Sub
Sub UNI() Dim NoDoub As New Collection Dim item, recherche Dim cel As Range, value value = Application.InputBox("Valeur à rechercher :", Type:=1 + 2) If Len(value) 0 Or value False Then Exit Sub With Application.Worksheets("Restitution qualité 2") On Error Resume Next For Each cel In .Range("c2:c" & .Range("c" & Rows.Count).End(xlUp).Row) NoDoub.Add cel.value, CStr(cel.value) Next cel On Error GoTo 0 End With Dim article Dim i As Long Application.ScreenUpdating = False Sheets.Add after:=Sheets(Sheets.Count) With Application.Worksheets("Restitution qualité 2") .Range("A1:Z1").Copy Sheets(Sheets.Count).Range("A1") For i = 2 To .Range("c" & Rows.Count).End(xlUp).Row If .Range("c" & i) = value Then .Range("a" & i & ":Z" & i).Copy Sheets(Sheets.Count).Range("A" & Sheets(Sheets.Count).Range("A" & Rows.Count).End(xlUp).Row + 1) End If Next End With ActiveSheet.Move On Error Resume Next 'cas si le fichier existe déjà ActiveWorkbook.SaveAs value & ".xls" Application.ScreenUpdating = True End Sub
For each sheet as worksheet in activeworkbook.sheets if sheet.name = "Hector" then Range("a1").value = "Hector 'Toe' Blake" elseif sheet.name = "Pierre" Range("a1").value = "Bye Bye le con à Gauthier" else end if next
Dim she As Worksheet For Each she In ActiveWorkbook.Sheets MsgBox sh.Name Next
donc j'ai commence par faire l'inputbox mais je bloque pour la fonction (range.find) je n'est pas d'aide dans VBA