Code pour trouver une valeur

Vieupot

XLDnaute Occasionnel
Bonjour
Je suis novice et essaye de me mettre aux codes VBA... pas facile ,jamais pratiqué mais j'avance(un avantage de la retraite)

je souhaite trouver un code qui me permette d'accéder à la cellule d'une colonne comportant le chiffre indiqué dans une autre cellule de la même feuille.

J'ai fouiné à droite et à gauche mais m'y perds. Quelqu'un aurait-il la gentillesse de m'aider

Bon étant débutant vous allez trouver ça léger mais faut un début
Je cherche une valeur dans la colonne 1 a partir de la donnée à rechercher indiquée en ‘’ I5 ‘’

Je voudrais que le curseur se positionne sur la cellule en question si cette valeur est trouvée et soit visible sur l’écran

Merci par avance pour votre aide.


Bernard
 

DoubleZero

XLDnaute Barbatruc
Bonjour, Vieupot, le Forum,

Comme ceci ?
VB:
Option Explicit
' Placer le présent code dans le module de l'onglet concerné par la recherche
Private Sub Worksheet_Change(ByVal c As Range)
  Dim cc As Range
  If c.Count > 1 Then Exit Sub
  If c.Address = "$I$5" And c.Value <> "" Then
  Set cc = Columns(1).Find(What:=[i5], LookIn:=xlValues, LookAt:=xlWhole)
  If Not cc Is Nothing Then cc.Select Else MsgBox "Valeur inexistante."
  End If
End Sub
A bientôt :)
 

Vieupot

XLDnaute Occasionnel
Merci à vous deux pour vos réponses je vais voir ça demain. Ce que je n'ai pas saisi c'est placer le code dans le module de l'onglet concerné. tous mes modules sont à la suite des uns et des autres dans le dossier modules de VBA Project

Eriiic... pour ce qui est du Application.Goto select est ce qu'il suffit simplement de remplacer cc.select pas Goto cc avec un point peut-être entre les deux mots ?
Mes questions sont ''basiques'' mais quand on ne connait pas comme ont dit quand on sait pas on demande et c'est la meilleure Façon pour essayer de comprendre
Merci encore à ce forum et à vous deux d'avoir donné de votre temps pour moi
Bernard
 

DoubleZero

XLDnaute Barbatruc
Bonjour, Vieupot, eriiiic, le Forum,
... Mes questions sont ''basiques''...
Qu'importe : vous et moi sommes là pour apprendre !

Dans le fichier joint, le code initial devient :
VB:
Option Explicit
' valeur atteindre
Private Sub Worksheet_Change(ByVal c As Range)
    Dim cc As Range
    If c.Count > 1 Then Exit Sub
    If c.Address = "$I$5" And c.Value <> "" Then
        Set cc = Columns(1).Find(What:=[i5], LookIn:=xlValues, LookAt:=xlWhole)
        If Not cc Is Nothing Then Application.Goto cc, True Else MsgBox "Valeur inexistante."
    End If
End Sub
' i5 atteindre (par clic double)
Private Sub Worksheet_BeforeDoubleClick(ByVal c As Range, Cancel As Boolean)
    If c.Column = 1 Then Range("i5").Select
End Sub

upload_2017-1-31_3-29-34.png


Bon courage et à bientôt :)
 

Pièces jointes

  • 00 - Vieupot - Valeur atteindre + retour sur i5.xlsm
    34.9 KB · Affichages: 22

Vieupot

XLDnaute Occasionnel
Merci Eric et double Zéro, ce n'est pas facile pour moi plus tout jeune de demander des choses aussi basiques qui avouons le peuvent en surprendre certains, mais c'est grâce à ce forum que j'ai appris à manipuler excel 2007 correctement. Mais le VBA c'est autre chose et avec le détail de vos explications je vais m'acharner pour progresser.
Aussi je pense que je vais revenir souvent vers ce forum
Merci encore de mettre votre savoir à notre service
Bernard
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 422
Membres
102 886
dernier inscrit
eurlece