[Macro Excel]Recherche selon condition

Résolu
Inglapaxa Messages postés 2 Statut Membre -  
Inglapaxa Messages postés 2 Statut Membre -
Bonjour,

Je cherche depuis ce matin mais je ne trouve pas.

Voila j'ai un fichier excel avec trois onglet :

1 : Mes données a rechercher
2 : Ma base de donnée
3 : Le resultat de ma recherche

Donc dans l'onglet 1 trois valeur en case B1/B2/B3
Dans l'onglet deux deux collones :

A: Une des trois valeurs que je recherche
B: La valeur que je veux afficher

Dans le troisiéme onglet je souhaite créer trois collone

A: Les valeurs de ma recherche pour 'Onglet1'B1
B: Les valeurs de ma recherche pour 'Onglet1'B2
C: Les valeurs de ma recherche pour 'Onglet1'B3

Et que la macro tourne jusqu'a une ligne vide.

Le but et de pouvoir créer un fichier de référence ou l'on rentre nos valeurs chercher dans l'onglet 1, la base de recherche dans l'onglet 2 et l'affichage dans l'onglet 3.

Je sais le faire avec une fonction SI, mais je souhaiterais automatisé pour ne plus avoir a vérifié sur combien de ligne la copié.

Merci de toute l'aide que vous m'apportez au fils du temps.

1 réponse

  1. Inglapaxa Messages postés 2 Statut Membre
     
    Sub RSSI()
    '
    
    Application.ScreenUpdating = False
    
    'Workbook.Add
    
    'Def variable
    
    Sheets("@MAC").Select
        
        Range("C3").Select
        APMAC1 = ActiveCell.Value
        Range("C4").Select
        APMAC2 = ActiveCell.Value
        Range("C5").Select
        APMAC3 = ActiveCell.Value
        Range("C6").Select
        APMAC4 = ActiveCell.Value
        Range("C7").Select
        APMAC5 = ActiveCell.Value
        Range("C8").Select
        APMAC6 = ActiveCell.Value
        
    Sheets("RSSI").Select
        ActiveSheet.Unprotect
    
    Cells.Select
        Selection.ClearContents
    
    Range("A1").Select
    ActiveCell.Value = "AP1"
    
    Range("B1").Select
    ActiveCell.Value = "AP2"
    
    Range("C1").Select
    ActiveCell.Value = "AP3"
    
    Range("D1").Select
    ActiveCell.Value = "AP4"
    
    Range("E1").Select
    ActiveCell.Value = "AP5"
    
    Range("F1").Select
    ActiveCell.Value = "AP6"
    
    Range("A2").Select
    
    Sheets("FSE").Select
    
    Range("C1").Select
    
        While Not (IsEmpty(ActiveCell))
        
        If IsEmpty(ActiveCell) Then
        Else
                If ActiveCell.Value = APMAC1 Then
                AP1 = ActiveCell.Offset(0, 2).Value
                Else
                AP1 = "0"
                End If
                
                If ActiveCell.Value = APMAC2 Then
                AP2 = ActiveCell.Offset(0, 2).Value
                Else
                AP2 = "0"
                End If
                
                If ActiveCell.Value = APMAC3 Then
                AP3 = ActiveCell.Offset(0, 2).Value
                Else
                AP3 = "0"
                End If
                
                If ActiveCell.Value = APMAC4 Then
                AP4 = ActiveCell.Offset(0, 2).Value
                Else
                AP4 = "0"
                ActiveCell.Offset(0, 0).Select
                End If
                
                If ActiveCell.Value = APMAC5 Then
                AP5 = ActiveCell.Offset(0, 2).Value
                Else
                AP5 = "0"
                End If
                
                If ActiveCell.Value = APMAC6 Then
                AP6 = ActiveCell.Offset(0, 2).Value
                Else
                AP6 = "0"
                End If
                
            Sheets("RSSI").Select
            
                ActiveCell.Value = AP1
                ActiveCell.Offset(0, 1).Select
                
                ActiveCell.Value = AP2
                ActiveCell.Offset(0, 1).Select
                
                ActiveCell.Value = AP3
                ActiveCell.Offset(0, 1).Select
               
                ActiveCell.Value = AP4
                ActiveCell.Offset(0, 1).Select
                
                ActiveCell.Value = AP5
                ActiveCell.Offset(0, 1).Select
               
                ActiveCell.Value = AP6
                ActiveCell.Offset(1, -5).Select
               
                Sheets("FSE").Select
                ActiveCell.Offset(1, 0).Select
                End If
                
    Wend
    Sheets("RSSI").Select
    Range("A:F").Select
    End Sub
    
    0