""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
eYVAgQKNGHA.456@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
eYVAgQKNGHA.456@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" a écrit dans le message de news:
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" a écrit dans le message de
news:Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonctionde multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
çane marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
u3UzNMRNGHA.1532@TK2MSFTNGP12.phx.gbl...
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O4gk7qMNGHA.1132@TK2MSFTNGP10.phx.gbl...
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
eYVAgQKNGHA.456@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" a écrit dans le message de news:
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" a écrit dans le message de
news:Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonctionde multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
çane marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" a écrit dans le message de news:
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" a écrit dans le message de
news:Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonctionde multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
çane marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
u3UzNMRNGHA.1532@TK2MSFTNGP12.phx.gbl...
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O4gk7qMNGHA.1132@TK2MSFTNGP10.phx.gbl...
Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?
Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:
eYVAgQKNGHA.456@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonction
de multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
ça
ne marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)
=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub
Bonjour Domi,
Je n'ai pas vérifié la formule que tu utilises, mais tes boutons dans ta
feuille
de calcul pour effectuer ton filtre fonctionne très bien chez moi.
Salutations!
"Domi" a écrit dans le message de news:
Bonjour,
La formule est bien dans le classeur mais elle s'applique quand j'appuie
sur
"FILTRER" et dans mon petit bout de code je passe les valeur obtenues en
dur
pour pouvoir appliquer le filtre. En fait elle est dans toutes la colonne
I,
Pour la voir, il faut bien sur virer .Value=.Value. dans la macro.
Désolé de ne pas l'avoir précisé, je pensais que vous le verriez dans le
petit code en fin de ma question.
Merci ;o)
Domi
"michdenis" a écrit dans le message de
news:Bonjour Domi,
Elle est où cette formule que tu n'arrives à insérer dans ta plage de
cellules ?Pourquoi ne pas l'avoir publié avec ton classeur ?
Une formule dans une cellule peut contenir jusqu'à 1024 caractères.
As-tu testé directement ta formule sur ta plage de cellules ? Obtiens-tu
le résultat escompté ?
Salutations!
"Domi" a écrit dans le message de news:Bonjour à tous,
Après moult gouttes de sueur et l'enregistreur j'ai réussi à pondre
cette
macro qui me permet de filtrer un grand nombre d'enregistrement en
fonctionde multiples critères :
Pour cela j'utilise une formules complexe avec de ET et OU imbriqués.
Je m'en sort bien car cela marche mais si je rajoute un ou deux critères
çane marche plus car je ne sais plus enregistrer ma formule avec
l'enregistreur (trop de caractères je suppose ?)
Comme je pense que ma formule risque de se compliquer un peu plus à
court
terme je préfère demander de l'aide par avance.
Je pense qu'on doit pouvoir faire le même boulot avec du VBA "pur" sans
passer par une formule mais my VBA is null... ou presque
Quelqu'un pourrait-il me proposer une solution plus VBA ou une astuce
pour
pouvoir enregistrer une formule plus longue ?
J'ai mis un fichier exemple sur cjoint : http://cjoint.com/?csqRZF35U4
Merci par avance pour vos propositions
Domi
Sub Filtrer()
'Formule de test sur la plage
With Range("I5", Range("A50000").End(xlUp).Offset(0, 8))
.FormulaR1C1 > >
"=AND(RC10<>""C"",RC10<>""P"",RC7<>0,OR(AND(LEFT(RC1,2)=""01"",LEFT(RC1,4)<>
""0127"",LEFT(RC1,3)<>""01S"",LEFT(RC1,3)<>""01R"",LEFT(RC1,3)<>""01E"",RC1<
""0128000"",RC1<>""0128001"",ISERROR(FIND(""SOCL"",RC2,1))),AND(LEFT(RC1,2)=""P1"",NOT(ISERROR(FIND(""SOCL"",RC2,1))))))"
.Value = .Value
End With
'Application du filtre
[L1] = "TEST"
[L2] = "TRUE"
Range("BaseTest").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range("L1:L2"), Unique:úlse
[L1] = ""
[L2] = ""
End Sub