Recherche cellule
Résolu
raveno39
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18406 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18406 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrais savoir comment faire pour que le curseur ce place directement dans une cellule quand:
en k4 je mets une valeur et que je veux que le curseur cherche dans une colone la valeur demandée
voici le code que j'ai mis et que j'ai trouve sur le net mais ça marche pô
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("K4")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
'Range("b" & [MATCH(K4,B:B,0)]).Select
'-- ou affiche en haut de l'écran --
Application.Goto Range("b" & [MATCH(K4,B:B,0)]), Scroll:=True
End If
End Sub
excel 2007
je voudrais savoir comment faire pour que le curseur ce place directement dans une cellule quand:
en k4 je mets une valeur et que je veux que le curseur cherche dans une colone la valeur demandée
voici le code que j'ai mis et que j'ai trouve sur le net mais ça marche pô
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("K4")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
'Range("b" & [MATCH(K4,B:B,0)]).Select
'-- ou affiche en haut de l'écran --
Application.Goto Range("b" & [MATCH(K4,B:B,0)]), Scroll:=True
End If
End Sub
excel 2007
A voir également:
- Recherche cellule
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Recherche photo - Guide
- Aller à la ligne dans une cellule excel - Guide
10 réponses
Salut,
colle ce code dans les propriétés de ta feuille concernée (clic droit sur l'onglet/Visualiser le code), sélectionne la cellule colonne B contenant la valeur saisie en K4. J'ai inclus une gestion d'erreur dans le cas de valeur absente
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, c, firstAddress As Variant
On Error Resume Next
If Not Application.Intersect(Target, Range("K4")) Is Nothing Then
Range("K4").Select
x = ActiveCell.Value
With ActiveSheet.Range("B:B")
Set c = .Find(x, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
End If
End With
Range(firstAddress).Select
If Err.Number <> 0 Then
MsgBox "Cette valeur est absente colonne B ", , "La recherche ne peut aboutir,"
Err.Clear
End If
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
colle ce code dans les propriétés de ta feuille concernée (clic droit sur l'onglet/Visualiser le code), sélectionne la cellule colonne B contenant la valeur saisie en K4. J'ai inclus une gestion d'erreur dans le cas de valeur absente
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, c, firstAddress As Variant
On Error Resume Next
If Not Application.Intersect(Target, Range("K4")) Is Nothing Then
Range("K4").Select
x = ActiveCell.Value
With ActiveSheet.Range("B:B")
Set c = .Find(x, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
End If
End With
Range(firstAddress).Select
If Err.Number <> 0 Then
MsgBox "Cette valeur est absente colonne B ", , "La recherche ne peut aboutir,"
Err.Clear
End If
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Merci pour ta réponse qui repond à mes attentes
j'ai installé ton code et l'ai adapté à mon tableau en modifiant les référence de cellule et ça marche.
Par contre j'ai voulu m'en servir dans un tableau où la valeurs dans la colonne est une date (ven 06/1), ça ne marche que si je transforme cette date en nombre (49014).
pourrais-je abuser de ta patient pour m'indiquer comme modifier ton code pour que cela marche avec une date.
bonne journée
j'ai installé ton code et l'ai adapté à mon tableau en modifiant les référence de cellule et ça marche.
Par contre j'ai voulu m'en servir dans un tableau où la valeurs dans la colonne est une date (ven 06/1), ça ne marche que si je transforme cette date en nombre (49014).
pourrais-je abuser de ta patient pour m'indiquer comme modifier ton code pour que cela marche avec une date.
bonne journée
Re,
Faudrait voir comment sont saisies tes dates, pour ven 06/1 si tu saisis la date comme cela, elle est considérée comme texte alors soit tu saisis dans la cellule critère de la même façon soit ven 06/1 qui correspond certainement à une date vendredi 6 janvier 2012 il faut donc saisir la date dans un format alphanumérique reconnu par Excel 6/1/12 par exemple et formater la ou les cellules avec un format personnalisé jjj jj/mm ce qui affichera bien Ven 06/01
ou jjj jj/m pour afficher Ven 06/1
et la ça marche
Faudrait voir comment sont saisies tes dates, pour ven 06/1 si tu saisis la date comme cela, elle est considérée comme texte alors soit tu saisis dans la cellule critère de la même façon soit ven 06/1 qui correspond certainement à une date vendredi 6 janvier 2012 il faut donc saisir la date dans un format alphanumérique reconnu par Excel 6/1/12 par exemple et formater la ou les cellules avec un format personnalisé jjj jj/mm ce qui affichera bien Ven 06/01
ou jjj jj/m pour afficher Ven 06/1
et la ça marche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Essaie ainsi :
Bon dimanche
Essaie ainsi :
Dim LaDate As Date Dim C As Range LaDate = CDate(Range("F1").Value) Set C = Columns(2).Find(LaDate, LookIn:=xlValues) If Not C Is Nothing Then MsgBox C.Address End If
Bon dimanche
re-,
En partant du principe de Mike, un essai :
Bon dimanche
En partant du principe de Mike, un essai :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("K4"), Target) Is Nothing Then If Not IsError(Application.Match(Target, Columns(2), 0)) Then MsgBox Cells(Application.Match(Target, Columns(2), 0), 2).Address End If End If End Sub
Bon dimanche
Re,
Je crois que Raveno souhaitait sélectionner la cellule colonne B contenant la valeur en K4, en panachant les codes avec celui de Cousinhub que je salue cela pourrait
donner ceci
1/ sélection de la valeur
2/ message si la valeur est absente colonne B
3/ reformatage de la cellule en standard en fin de procédure
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Variant
If Not Intersect(Range("K4"), Target) Is Nothing Then
If Not IsError(Application.Match(Target, Columns(2), 0)) Then
x = Cells(Application.Match(Target, Columns(2), 0), 2).Address
Range(x).Select
End If
If x = False Then MsgBox "Cette valeur est absente colonne B ", , "La recherche ne peut aboutir,"
End If
[K4].NumberFormat = "General"
End Sub
Je crois que Raveno souhaitait sélectionner la cellule colonne B contenant la valeur en K4, en panachant les codes avec celui de Cousinhub que je salue cela pourrait
donner ceci
1/ sélection de la valeur
2/ message si la valeur est absente colonne B
3/ reformatage de la cellule en standard en fin de procédure
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Variant
If Not Intersect(Range("K4"), Target) Is Nothing Then
If Not IsError(Application.Match(Target, Columns(2), 0)) Then
x = Cells(Application.Match(Target, Columns(2), 0), 2).Address
Range(x).Select
End If
If x = False Then MsgBox "Cette valeur est absente colonne B ", , "La recherche ne peut aboutir,"
End If
[K4].NumberFormat = "General"
End Sub