SelectionChange(ByVal Target As Range)

Le
Jean-Paul V
Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

…ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l’on sélectionne une des
cellules du Range ‘’NAMES ‘’ ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(‘’NAMES’’) comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère
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
JB
Le #4393241
Bonjour,

Le champ est nommé xxxx (Names est un mot clé)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([xxxx], Target) Is Nothing Then
filtre1
End If
End Sub

Cordialement JB


On 12 avr, 06:44, Jean-Paul V wrote:
Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

...ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBl anks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l'on sélectionne une des
cellules du Range ''NAMES '' ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(''NAMES'') comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère


Jean-Paul V
Le #4392681
Bonjour JB

Merci ça marche impeccable !


Bonjour,

Le champ est nommé xxxx (Names est un mot clé)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([xxxx], Target) Is Nothing Then
filtre1
End If
End Sub

Cordialement JB


On 12 avr, 06:44, Jean-Paul V wrote:
Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

...ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l'on sélectionne une des
cellules du Range ''NAMES '' ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(''NAMES'') comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère







Jean-Paul V
Le #4392591
JB
Pourriez vous me dire quelle instruction mettre après le
Sheets("ALLDATA").Select dans la macro Filtre1 de façon que si le filtre
automatique à été enlevé il le rétablisse
Application.Goto Reference:="DATABASE"
Selection.AutoFilter
Ces 2 instructions précédentes ne sont pas la solution cr si on a un filtre
auto cela l'enlève


Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub



Bonjour,

Le champ est nommé xxxx (Names est un mot clé)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([xxxx], Target) Is Nothing Then
filtre1
End If
End Sub

Cordialement JB


On 12 avr, 06:44, Jean-Paul V wrote:
Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

...ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l'on sélectionne une des
cellules du Range ''NAMES '' ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(''NAMES'') comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère







isabelle
Le #4392521
bobhour Jean-Paul,

If Sheets("ALLDATA").AutoFilterMode Then MsgBox "il y a un filtre"

isabelle

JB
Pourriez vous me dire quelle instruction mettre après le
Sheets("ALLDATA").Select dans la macro Filtre1 de façon que si le filtre
automatique à été enlevé il le rétablisse
Application.Goto Reference:="DATABASE"
Selection.AutoFilter
Ces 2 instructions précédentes ne sont pas la solution cr si on a un filtre
auto cela l'enlève


Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub




Bonjour,

Le champ est nommé xxxx (Names est un mot clé)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([xxxx], Target) Is Nothing Then
filtre1
End If
End Sub

Cordialement JB


On 12 avr, 06:44, Jean-Paul V wrote:

Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

...ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l'on sélectionne une des
cellules du Range ''NAMES '' ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(''NAMES'') comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère









Jean-Paul V
Le #4392191
Bonjour Isabelle
Et merci pour la réponse
Avec votre réponse j'ai pu modifier mon Filtre1, mais je suis sûr que l'on
peut faire mieux.

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
If Sheets("ALLDATA").AutoFilterMode Then 'MsgBox "il y a un filtre"
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
Else
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("DATABASE").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
ActiveCell.Offset(1, 0).Range("A1").Select
End If
End Sub

a+ et merci encore


bobhour Jean-Paul,

If Sheets("ALLDATA").AutoFilterMode Then MsgBox "il y a un filtre"

isabelle

JB
Pourriez vous me dire quelle instruction mettre après le
Sheets("ALLDATA").Select dans la macro Filtre1 de façon que si le filtre
automatique à été enlevé il le rétablisse
Application.Goto Reference:="DATABASE"
Selection.AutoFilter
Ces 2 instructions précédentes ne sont pas la solution cr si on a un filtre
auto cela l'enlève


Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub




Bonjour,

Le champ est nommé xxxx (Names est un mot clé)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([xxxx], Target) Is Nothing Then
filtre1
End If
End Sub

Cordialement JB


On 12 avr, 06:44, Jean-Paul V wrote:

Bonjour à tous

Je souhaiterais remplacer 35 macros par une macro plus générale.

Mes 35 macros actuelles sont :
Sub MASIA()
Range("B7").Select
FILTRE1
End Sub

Sub MBRAZIL()
Range("B8").Select
FILTRE1
End Sub

...ect

Sub FILTRE1()
Selection.Copy
Sheets("ALLDATA").Select
Range("CELCRIT").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Selection.AutoFilter Field:=1, Criteria1:=Range("CELCRIT").Value
End Sub

Je souhaiterais déclencher ces 35 macros lorsque l'on sélectionne une des
cellules du Range ''NAMES '' ( actuellement entre B7 B41 ) , un truc mis dans
le code de la feuille du Range(''NAMES'') comme :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
'Si cellule sélectionnée est dans le Range ''NAMES'',comment faire ce test ?
Set Rg = ActiveCell
'If Rg.Column = 2 Then
Rg.Select
FILTRE1
'End If
Set Rg = Nothing
End Sub
Comment écrire cette Private Sub Worksheet pour qu'elle déclenche les 35
filtres différents en cliquant à l'interieur du champ NAMES.

à+ j'espère












Publicité
Poster une réponse
Anonyme