VBA recherche la valeur de ma cellule avec critère

filou60

XLDnaute Nouveau
Bonjour,

Je suis nul en VBA , voici ce que je voudrais pouvoir faire à l'aide d'une macro
j'ai un fichier avec 3 onglets , le premier 'suivi' ou je trouve la totalité de mes enregistrement, en colonne A mon N° de demande et en colonne B mon fournisseur il n'y'en a que 2 GS et Cg
le deuxième onglet ' GS' même enregistrement que dans l'onglet suivi mais uniquement avec le fournisseur GS
le troisième onglet ' Cg' même enregistrement que dans l'onglet suivi mais uniquement avec le fournisseur Cg

1) je voudrais positionner mon curseur dans une cellule de la colonne A
2)lancer une Macro qui récupèrerais la valeur de ma cellule ou est positionné mon curseur, vérifierais le fournisseur et lancerais une recherche dans le bon onglet , mes enregistrement sont uniques
je vous joins un fichier
exemple je me positionne en A2 sur DD CLY-0081 ,je lance ma recherche et comme le fournisseur de cette demande est GS je recherche mon enregistrement dans l'onglet GS
j'espère avoir été clair et que ma demande est réalisable
Je vous remercie d'avance pour vos réponses
 

Pièces jointes

  • recherche avec critere.xls
    30 KB · Affichages: 25

Papou-net

XLDnaute Barbatruc
Re : VBA recherche la valeur de ma cellule avec critère

Bonjour filou60, et bienvenue,

Voici ton fichier modifié.

Une sélection quelconque en colonne A affiche la feuille du fournisseur et sélectionne la demande correspondante, sauf si le cellule est vide.

A +

Cordialement.
 

Pièces jointes

  • Copie de recherche avec critere.xls
    41.5 KB · Affichages: 34

filou60

XLDnaute Nouveau
Re : VBA recherche la valeur de ma cellule avec critère

merci Papou-net,

Chapeau cela fonctionne très bien
est ce que je peux abuser encore et te demander de commenter les lignes du code
je doit l'adapter à mon fichier et j'avoue que je comprend pas bien

Un grand merci
 

Papou-net

XLDnaute Barbatruc
Re : VBA recherche la valeur de ma cellule avec critère

RE:

Voici le code commenté:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cel As Range, Dde As String, Frn As String

'si la cellule sélectionnée n'est pas en colonne 1 (A) ou si elle est vide
'la macro se termine ici
If Target.Column > 1 Or Target = "" Then Exit Sub
'affecte la valeur de la sélection (Target=Cible) à la variable Dde
'et affecte la valeur de la cellule adjacente à droite de Target (Offset=Décalage 0 ligne, 1 colonne à droite) à la variable Frn
Dde = Target: Frn = Target.Offset(0, 1)

'les instructions suivantes, précédées d'un point, s'appliquent à la feuille dont le nom est dans la variable Frn
With Sheets(Frn)
  'recherche la cellule (Cel) contenant la demande dans la colonne 1
  Set Cel = .Columns(1).Find(Dde, LookIn:=xlValues)
  'affiche la feuille Fournisseur
  .Activate
  'sélectionne la cellule contenant la demande
  Cel.Select
End With
End Sub
Restant à ta disposition si tu le désires.

Cordialement.
 

Discussions similaires

Réponses
3
Affichages
369
Réponses
5
Affichages
380

Statistiques des forums

Discussions
312 386
Messages
2 087 851
Membres
103 669
dernier inscrit
Anne Sicard