Parcourir un tableau excel et filtrer (macro)
missdedicaces
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Info -
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.
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
-
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