Parcourir un tableau excel et filtrer (macro)

Fermé
missdedicaces Messages postés 3 Date d'inscription jeudi 27 janvier 2011 Statut Membre Dernière intervention 17 février 2011 - 27 janv. 2011 à 18:12
 Info - 28 janv. 2011 à 14:05
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.
A voir également:

1 réponse

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