Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub TextBox10_Change() '*** declaration des variables*** Dim rngTrouve As Range Dim strChaine As String Dim sExtentionFiltre As String Dim Colonne As Integer '*** initialisation recherche*** 'valorisation de "strChaine" avec la valeur rentrée par l'utilisateur sExtentionFiltre = "*" strChaine = UCase(Trim(TextBox10.Text)) + sExtentionFiltre 'désactivation du filtre Worksheets("Feuil1").AutoFilterMode = False 'inisialisation recherche Set rngTrouve = Range("A4:A6000").Find(what:=strChaine, LookAt:=xlPart) '*** retour de la recherche*** 'si recherche non trouvé, envoi d'un message If rngTrouve Is Nothing Then MsgBox "Pas trouvé" 'sinon affiché le résultat et recuperer le n° de colonne du resultat Else Range("A4:A6000").Find(what:=strChaine, LookAt:=xlPart).Select Colonne = ActiveCell.Column End If Set rngTrouve = Nothing 'verouillage sur la Textbox TextBox10.Activate 'si "strChaine est vide ou si colonne = 0 alors desactiver filtre If strChaine "" Or strChaine "*" Or Colonne = 0 Then Worksheets("Feuil1").AutoFilterMode = False Else 'sinon trier les resultat suivant la colonne ou se trouve le resultat ActiveSheet.Range("A4:A6000").AutoFilter Field:=Colonne, Criteria1:=strChaine End If End Sub
vous verrez effectivement qu'il ya du .select et du .activate de partout (je ne sais pas encore codé autrement, je débute)
Range("A4:A6000").Find(what:=strChaine, LookAt:=xlPart).Select
Colonne = ActiveCell.Column
Colonne = Range("A4:A6000").Find(what:=strChaine, LookAt:=xlPart).Column
If rngTrouve Is Nothing Then MsgBox "Pas trouvé" 'sinon affiché le résultat et recuperer le n° de colonne du resultat Else Colonne = rngTrouve.Column End If
'verouillage sur la Textbox TextBox11.Activate