Macro qui fonctionne avec Excel Fr mais pas Excel Anglais
1 réponse
News
Bonjour à tous,
J'ai souhaité lié trois tableaux croisés dynamique, je change une cellule de
tri du 1er tableau cela applique le même filtre.
J'ai du adapter la macro car pour la valeur (Tous) le retour à cette valeur
ne fonctionnait pas.
Voici le code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PI As PivotItem
With ActiveSheet.PivotTables("Liste").PageFields("ZONE")
For Each PI In .PivotItems
If Range("C6") = "(all)" Then
.DataRange = "(all)"
Else
.DataRange = Range("C6")
Exit For
End If
Next PI
End With
etc...
Cela fonctionne très bien avec Exel en Français mais dès que je passe à la
version anglaise -> La valeur (all) n'est pas reconnu et je dois changer
pour (All) et (All) ne fonctionne pas pour Excel Fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonsoir. Tu peux tester s'il s'agit d'un version anglaise ou non :
If Application.International(xlCountryCode) = 1 Then If Range("C6") = "(all)" Then .DataRange = "(all)" Else .DataRange = Range("C6") Exit For End If Else If Range("C6") = "(Tous)" Then .DataRange = "(Tous)" Else .DataRange = Range("C6") Exit For End If End If
-- Cordialement. Daniel "News" a écrit dans le message de news: 48da849a$0$2213$
Bonjour à tous,
J'ai souhaité lié trois tableaux croisés dynamique, je change une cellule de tri du 1er tableau cela applique le même filtre. J'ai du adapter la macro car pour la valeur (Tous) le retour à cette valeur ne fonctionnait pas.
Voici le code Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim PI As PivotItem With ActiveSheet.PivotTables("Liste").PageFields("ZONE") For Each PI In .PivotItems If Range("C6") = "(all)" Then .DataRange = "(all)" Else .DataRange = Range("C6") Exit For End If Next PI End With
etc...
Cela fonctionne très bien avec Exel en Français mais dès que je passe à la version anglaise -> La valeur (all) n'est pas reconnu et je dois changer pour (All) et (All) ne fonctionne pas pour Excel Fr
Bref je suis perdu
Merci d'avance pour l'astuce
Olivier
Bonsoir.
Tu peux tester s'il s'agit d'un version anglaise ou non :
If Application.International(xlCountryCode) = 1 Then
If Range("C6") = "(all)" Then
.DataRange = "(all)"
Else
.DataRange = Range("C6")
Exit For
End If
Else
If Range("C6") = "(Tous)" Then
.DataRange = "(Tous)"
Else
.DataRange = Range("C6")
Exit For
End If
End If
--
Cordialement.
Daniel
"News" <olistaps@hotmail.com> a écrit dans le message de news:
48da849a$0$2213$426a74cc@news.free.fr...
Bonjour à tous,
J'ai souhaité lié trois tableaux croisés dynamique, je change une cellule
de tri du 1er tableau cela applique le même filtre.
J'ai du adapter la macro car pour la valeur (Tous) le retour à cette
valeur ne fonctionnait pas.
Voici le code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PI As PivotItem
With ActiveSheet.PivotTables("Liste").PageFields("ZONE")
For Each PI In .PivotItems
If Range("C6") = "(all)" Then
.DataRange = "(all)"
Else
.DataRange = Range("C6")
Exit For
End If
Next PI
End With
etc...
Cela fonctionne très bien avec Exel en Français mais dès que je passe à la
version anglaise -> La valeur (all) n'est pas reconnu et je dois changer
pour (All) et (All) ne fonctionne pas pour Excel Fr
Bonsoir. Tu peux tester s'il s'agit d'un version anglaise ou non :
If Application.International(xlCountryCode) = 1 Then If Range("C6") = "(all)" Then .DataRange = "(all)" Else .DataRange = Range("C6") Exit For End If Else If Range("C6") = "(Tous)" Then .DataRange = "(Tous)" Else .DataRange = Range("C6") Exit For End If End If
-- Cordialement. Daniel "News" a écrit dans le message de news: 48da849a$0$2213$
Bonjour à tous,
J'ai souhaité lié trois tableaux croisés dynamique, je change une cellule de tri du 1er tableau cela applique le même filtre. J'ai du adapter la macro car pour la valeur (Tous) le retour à cette valeur ne fonctionnait pas.
Voici le code Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim PI As PivotItem With ActiveSheet.PivotTables("Liste").PageFields("ZONE") For Each PI In .PivotItems If Range("C6") = "(all)" Then .DataRange = "(all)" Else .DataRange = Range("C6") Exit For End If Next PI End With
etc...
Cela fonctionne très bien avec Exel en Français mais dès que je passe à la version anglaise -> La valeur (all) n'est pas reconnu et je dois changer pour (All) et (All) ne fonctionne pas pour Excel Fr