EXCEL FONCTION RECHERCHE AVEC RENVOI A CETTE LIGNE

Fermé
Fmaigix Messages postés 2 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 24 novembre 2016 - 11 nov. 2016 à 21:13
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 24 nov. 2016 à 17:43
Bonjour,

J'aimerai faire un bouton VBA ou dans une cellule une fonction qui recherche des noms ou des numeros qui son pret inscris sur ma feuille.

Exemple si dans la cellule ou dans le vba je mais "dupond"
il me renvoi a l'endroit ou il et ecris.

d'avance merci


A voir également:

5 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 nov. 2016 à 09:54
Bonjour,

Avec un double clic n'importe où et cette macro dans ta feuille :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rep As Variant, cel As Range
    Cancel = True
    rep = Application.InputBox("Mot recherché ?", "Recherche")
    If Not rep = "Faux" Then
        Set cel = Cells.Find(rep, , , xlPart)
        If cel Is Nothing Then MsgBox "Mot absent" Else cel.Select
    End If
End Sub
1
merci à toi
cela me donne une ambiguïté avec le code déjà sur ma page

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("C3:D174,G3:H174,I3:J174")) Is Nothing Then
Cancel = True
Target.Font.Name = "arial"

If Target = "" Then
Target.Value = Now
Target.NumberFormat = "hh:mm"
Else
Target = ""
End If
End If

End Sub
0
Gbinforme

Peut tu me rajouter un code .
Quand le mots chercher va a la ligne il se mais en subrillance dune couleurs rouge ou autre stp
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 nov. 2016 à 18:45
Bonjour,

cela me donne une ambiguïté avec le code déjà sur ma page
Dans ce cas il vaut mieux utiliser une procédure dans un module que tu appelles par un raccourci comme ctrl+p par exemple

il se mais en subrillance dune couleurs rouge ou autre stp
Là ce n'est pas une bonne pioche car si je te mets du rouge, il va rester ;-)
Je te fais clignoter la cellule, cela devrait être plus judicieux.
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub position()
Dim rep As Variant, cel As Range, cpt As Integer, anc As Variant
    rep = Application.InputBox("Mot recherché ?", "Recherche")
    If Not rep = "Faux" Then
        Set cel = Cells.Find(rep, , , xlPart)
        If cel Is Nothing Then
            MsgBox "Mot absent"
        Else
            cel.Activate
            With cel.Interior
                anc = .ColorIndex
                For cpt = 1 To 30
                    .ColorIndex = IIf(cpt Mod 2 = 0, anc, 3)
                    Sleep 150
                Next cpt
            End With
        End If
    End If
End Sub
0
bonjour

le code marche pas
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 nov. 2016 à 11:47
Bonjour,

le code marche pas
C'est sûr qu'il ne 'marche' pas car il n'a pas de pieds mais il fonctionne lorsqu'on l'installe correctement et tu en as la preuve dans le classeur joint :

https://mon-partage.fr/f/3CreCIEy/

Clique sur "Position" et saisi un mot, par exemple 'marche'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fmaigix Messages postés 2 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 24 novembre 2016
24 nov. 2016 à 09:27
Merci pour tous genial.

dernier question

j'ai une ambiguite avec ca

code pour verrouille certaine cellule

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1,A2,B2,D2,G2,H2,I2,J2,K2,L2,M2,N2,C1"), Target) Is Nothing Then
Target.Offset(0, 1).Select
End If


End Sub


code afficher une croix

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Application.Intersect(Target, Range("J3:M70")) Is Nothing Then 'modifie ton tableau
If Target.Value = "" Then
Target.Value = "X"
Else
Target.Value = ""
End If
End If
End Sub


comment je peux faire pour enlever cette ambiguite au niveau de cette ligne
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
24 nov. 2016 à 17:43
Bonjour,

comment je peux faire pour enlever cette ambiguite au niveau de cette ligne
Il te faut les regrouper car les macro événementielles sont obligatoirement uniques.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1,A2,B2,D2,G2:N2,C1"), Target) Is Nothing Then
    Target.Offset(0, 1).Select
ElseIf Not Application.Intersect(Target, Range("J3:M70")) Is Nothing Then 'modifie ton tableau
    On Error Resume Next
    If Target.Value = "" Then
        Target.Value = "X"
    Else
        Target.Value = ""
    End If
    On Error GoTo 0
End If
End Sub
0