Re : Créations d'une Fonctions Recherche
bonjour,
je n'ai pas trouver pour créer une fonction je me suis donc débrouiller en bidouillons une macro pour faire ce que je veux.
un jour peut-être quelqu'un seras intéresser par le sujet et pourras me dire comment créer une fonctions de recherche, à double variable. je pense que j'en suis pas très loin il suffirais d'adapté ma macro. merci aux trois bonne âmes qui en la gentillesse de me répondre.
Sub mise_à_jour()
'-----------Mise a jour des donnée-------------------
ActiveWorkbook.UpdateLink Name:= _
"R:\Process\METHODES\Reporting\Méthodes Reconvilier_2014.xlsm", Type:= _
xlExcelLinks
'-----------Recherche des Nouve
On Error Resume Next
'déclaration des variables :
Dim Trouve As Range
Dim PlageDeRecherche As Range
Dim Valeur_Cherchee As String
Dim AdresseTrouvee As String
Dim AdresseTrouvee2 As String
Dim ligne As String
Dim reponce As String
Dim code_methode As String
Dim Créateur As String
Dim verificateur As String
Dim FeuilleMethode As String
Interface.Select
Range("A5").Select
'valeur variable fixe
FeuilleMethode = Methode.Name
Valeur_Cherchee = ActiveCell.Offset(0, 1).Value
'CellDepart = Range("A5").Address à revoir pour amélioration éviter les selections.
Set PlageDeRecherche = Methode.Columns("AH:AO")
While ActiveCell.Offset(0, 1) <> ""
'************'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)****************
Set Trouve = PlageDeRecherche.Cells.Find(What:=Valeur_Cherchee, LookAt:=xlWhole, LookIn:=xlValues)
AdresseTrouvee = Trouve.Address
'***********'traitement de l'erreur possible : Si on ne trouve rien :************************
Trouve:
If Trouve Is Nothing Then
ActiveCell.Offset(1, 0).Select
Valeur_Cherchee = ActiveCell.Offset(0, 1).Value
AdresseTrouvee = AdresseTrouvee2
Else
'************'ici, traitement pour le cas où la valeur est trouvée*****************************
ligne = Trouve.Row
reponce = Methode.Cells(ligne, 4).Value
code_methode = Methode.Cells(ligne, 2).Value
Créateur = Methode.Cells(ligne, 5).Value
verificateur = Methode.Cells(ligne, 6).Value
If code_methode = "A" Then
ActiveCell.Offset(0, 4) = reponce
ActiveCell.Offset(0, 8) = Créateur
ActiveCell.Offset(0, 9) = verificateur
Else
If code_methode = "M" Then
ActiveCell.Offset(0, 6) = reponce
ActiveCell.Offset(0, 8) = Créateur
ActiveCell.Offset(0, 9) = verificateur
Else
If code_methode = "G" Then
ActiveCell.Offset(0, 5) = reponce
ActiveCell.Offset(0, 8) = Créateur
ActiveCell.Offset(0, 9) = verificateur
Else
End If
End If
End If
Set Trouve = PlageDeRecherche.Cells.FindNext(After:=Trouve)
AdresseTrouvee2 = Trouve.Address
If AdresseTrouvee = AdresseTrouvee2 Then
ActiveCell.Offset(1, 0).Select
Valeur_Cherchee = ActiveCell.Offset(0, 1).Value
Else
GoTo Trouve
End If