Selection plage sur critére

Le
glop
Bonsoir

Grace aux conseils éclairés déjà reçus sur ce forum mon projet avance.
Maintenant je voudrais, par VBA, sélectionner dans un tableau une
partie de tous les enregistrements contenant un critère défini par
l'utilisateur.
Par exemple tous les enregistrements ayant "VAR" en ligne A et de la
colonne A a BD. Le résultat comporte un nombre variable de lignes
(quelques unes à quelques centaines) et la partie intéressante pour le
traitement représente une trentaine de colonnes contigues.
Pour ce faire la fonction filtre automatique, voire élaboré, peut
satisfaire au besoin.
La question est comment récupérer cette plage variable pour traitement
ultérieur (copie, effacement) en utilisant une macro ?
Si il y a moyen de procéder directement sans utiliser le filtre c'est
encore mieux.
Autre question (la première en fait) : comment recueillir auprés de
l'utilisateur au début de la procédure son choix de critére à utiliser
("VAR" pour cet exemple).

Merci pour vos éclairages.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #24838722
Bonsoir,

Sub test()
Dim Plage As Range, I As Integer
ActiveSheet.AutoFilterMode = False
Set Plage = Range([A1], Cells(Rows.Count, 1).End(xlUp)).Resize(,
56)
For I = 1 To Plage.Rows.Count
Cells(I, "BE") = Application.CountIf(Range(Cells(I, 1),
Cells(I, "BD")), "VAR")
Next I
Range([BE1], Cells(Plage.Rows.Count, "BE")).AutoFilter 1, ">0"
If Application.Subtotal(103, [BE:BE]) > 0 Then
Set Plage = Plage.SpecialCells(xlCellTypeVisible)
Plage.Select
End If
End Sub

Cordialement.

Daniel


Bonsoir

Grace aux conseils éclairés déjà reçus sur ce forum mon projet avance.
Maintenant je voudrais, par VBA, sélectionner dans un tableau une partie de
tous les enregistrements contenant un critère défini par l'utilisateur.
Par exemple tous les enregistrements ayant "VAR" en ligne A et de la colonne
A a BD. Le résultat comporte un nombre variable de lignes (quelques unes à
quelques centaines) et la partie intéressante pour le traitement représente
une trentaine de colonnes contigues.
Pour ce faire la fonction filtre automatique, voire élaboré, peut satisfaire
au besoin.
La question est comment récupérer cette plage variable pour traitement
ultérieur (copie, effacement...) en utilisant une macro ?
Si il y a moyen de procéder directement sans utiliser le filtre c'est encore
mieux.
Autre question (la première en fait) : comment recueillir auprés de
l'utilisateur au début de la procédure son choix de critére à utiliser ("VAR"
pour cet exemple).

Merci pour vos éclairages.
glop
Le #24839242
Bonjour

C'est bôôô et ça répond au parfaitement au besoin.
Merci.



Le 04/10/2012, DanielCo a supposé :
Bonsoir,

Sub test()
Dim Plage As Range, I As Integer
ActiveSheet.AutoFilterMode = False
Set Plage = Range([A1], Cells(Rows.Count, 1).End(xlUp)).Resize(, 56)
For I = 1 To Plage.Rows.Count
Cells(I, "BE") = Application.CountIf(Range(Cells(I, 1), Cells(I,
"BD")), "VAR")
Next I
Range([BE1], Cells(Plage.Rows.Count, "BE")).AutoFilter 1, ">0"
If Application.Subtotal(103, [BE:BE]) > 0 Then
Set Plage = Plage.SpecialCells(xlCellTypeVisible)
Plage.Select
End If
End Sub

Cordialement.

Daniel


Bonsoir

Grace aux conseils éclairés déjà reçus sur ce forum mon projet avance.
Maintenant je voudrais, par VBA, sélectionner dans un tableau une partie de
tous les enregistrements contenant un critère défini par l'utilisateur.
Par exemple tous les enregistrements ayant "VAR" en ligne A et de la
colonne A a BD. Le résultat comporte un nombre variable de lignes (quelques
unes à quelques centaines) et la partie intéressante pour le traitement
représente une trentaine de colonnes contigues.
Pour ce faire la fonction filtre automatique, voire élaboré, peut
satisfaire au besoin.
La question est comment récupérer cette plage variable pour traitement
ultérieur (copie, effacement...) en utilisant une macro ?
Si il y a moyen de procéder directement sans utiliser le filtre c'est
encore mieux.
Autre question (la première en fait) : comment recueillir auprés de
l'utilisateur au début de la procédure son choix de critére à utiliser
("VAR" pour cet exemple).

Merci pour vos éclairages.
Publicité
Poster une réponse
Anonyme