Parcourir un tableau excel et filtrer (macro)

missdedicaces Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Info -
Bonjour,

Suite à un projet, je souhaite obtenir une macro qui parcours un tableau et qui filtre suivant la valeur dans les colonnes. Ensuite les valeurs trouvées devront etre afficher dans une autre feuille.
Le tableau est constitué de la manière suivante :
colonne 1 : etat
colonne 2 : numero site A
colonne 3 : numero site B
colonne 4 : debit
On filtre suivant une valeur de A donné et on obtient le numero des sites B attaché eainsi que le debit entre chaque liaison. Ceci pour environ 1000 sites. Donc je cherchais une macro pour faire ça automatiquement :

j'ai commencé à élaborer un code :
Sub parcourir()
ActiveSheet.Range("$A$1:$G$34426").AutoFilter Field:=1, Criteria1:="Réel" 'filtre pour un reel

Dim A As Integer

For Each c In Range("B1:B34290") ' parcours le tableau

Merci d'avance pour vos réponses
If c.Value() = "10000" Then
' A =
Sheets("Nom de l'autre onglet").Range("B6") = "Je suis dans un autre onglet" 'ecrire dans une autre cellule d'un autre onglet
End If
Next
End Sub

mais je ne sais pas comment recuperer la valeur des cellules de la colonne B et C et les renvoyer dans un fichier final ne contenant que le site A et tous ces liens.

1 réponse

  1. Info
     
    Bonjour,

    Votre question n'est pas clair pour moi !

    Toutefois, si je comprends le tout ...

    Sub Parcourir()  
    
        Dim A As Integer, Adresse As String  
        Dim c As Range, Plage As Range, Cible As Range, Origine As Range  
        DimValeur As Variant  
        
        Plage = Range("B1:B34290")  
        Cible = Range("$A$1:$G$34426")  
    
        ActiveSheet.Cible.AutoFilter Field:=1, Criteria1:="Réel"   
    
        For Each c In Plage ' parcours le tableau  
            If c.Value() = "10000" Then  
                Origine = Range(c.Adresse & ":" & c.Offset(0, 1).Address)  
                Adresse = c.Address  
                Origine.Select  
                Selection.Copy  
                'ecrire dans une autre cellule d'un autre onglet  
                Sheets("Feuil2").Range(Adresse).Select  
                Activesheets.Paste  
                Sheets("Feuil1").Select  
            End If  
        Next c  
          
    End Sub  
    


    Info
    0