OVH Cloud OVH Cloud

macros de filtres élaborés

2 réponses
Avatar
fred
Bonjour =E0 toutes et tous,

je d=E9bute dans la cr=E9ation de macros VBA pour Excel et je=20
reste coinc=E9e sur deux probl=E8mes...

a) j'ai une bd qui pourra varier en fonction des=20
utilisateurs. Je souhaite qu'excel identifie toutes les=20
donn=E9es afin d'ins=E9rer un nom =E0 la zone.
Pour s=E9lectionner la zone j'utilise shift+ctrl + fl=E8che=20
bas et fl=E8che droite. Jusque l=E0 c'est ok. Par contre,=20
dans le code de la macro, il veut des r=E9f=E9rences. Comment=20
faire pour que les r=E9f=E9rences soient celles de la=20
s=E9lection?

b) dans l'utilisation des filtres =E9labor=E9s, j'aimerais=20
indiquer les crit=E8res directement dans la macro et pas=20
dans une feuille annexe. Est-ce possible et si oui comment

Un grand merci d'avance pour votre aide et vos r=E9ponses

fred

2 réponses

Avatar
Laurent Jordi \(www.ezlogic.mc\)
Je crois que c'est l'objet selection

myworksheet.selection renvoie une range mais c'est à vérifier...

@+

LJ
"fred" a écrit dans le message de
news:087401c49023$04c68270$
Bonjour à toutes et tous,

je débute dans la création de macros VBA pour Excel et je
reste coincée sur deux problèmes...

a) j'ai une bd qui pourra varier en fonction des
utilisateurs. Je souhaite qu'excel identifie toutes les
données afin d'insérer un nom à la zone.
Pour sélectionner la zone j'utilise shift+ctrl + flèche
bas et flèche droite. Jusque là c'est ok. Par contre,
dans le code de la macro, il veut des références. Comment
faire pour que les références soient celles de la
sélection?

b) dans l'utilisation des filtres élaborés, j'aimerais
indiquer les critères directement dans la macro et pas
dans une feuille annexe. Est-ce possible et si oui comment

Un grand merci d'avance pour votre aide et vos réponses

fred
Avatar
Alain CROS
Bonjour.

Cette question serait mieux sur microsoft.public.fr.excel.

a) Activer une cellule de la zone puis

Sub NommerZone()
ActiveWorkbook.Names.Add "LeNom", "=" & ActiveCell.CurrentRegion.Address
End Sub

b) Pour n'afficher que les cellules non vide de la seconde colonne de la zone, activer une cellule de la zone à filtrer puis

Sub FiltrCol2()
Dim Cel1$, Cel2$, Rg As Range
Cel1 = [A1].Formula
Cel2 = [A2].Formula
Application.EnableEvents = False
Application.ScreenUpdating = False
[A1] = ""
Set Rg = ActiveCell.CurrentRegion
[A2].Formula = "=NOT(ISBLANK(" & _
Rg.Resize(1, 1).Offset(1, 1).Address(False, False) & "))"
Rg.AdvancedFilter xlFilterInPlace, Range("A1:A2")
[A1] = Cel1
[A2] = Cel2
ActiveSheet.Names("Critères").Delete
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Rg = Nothing
End Sub

Alain CROS

"fred" a écrit dans le message de news: 087401c49023$04c68270$
Bonjour à toutes et tous,

je débute dans la création de macros VBA pour Excel et je
reste coincée sur deux problèmes...

a) j'ai une bd qui pourra varier en fonction des
utilisateurs. Je souhaite qu'excel identifie toutes les
données afin d'insérer un nom à la zone.
Pour sélectionner la zone j'utilise shift+ctrl + flèche
bas et flèche droite. Jusque là c'est ok. Par contre,
dans le code de la macro, il veut des références. Comment
faire pour que les références soient celles de la
sélection?

b) dans l'utilisation des filtres élaborés, j'aimerais
indiquer les critères directement dans la macro et pas
dans une feuille annexe. Est-ce possible et si oui comment

Un grand merci d'avance pour votre aide et vos réponses

fred