extraction

Le
tylerguile
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B (colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom disparait de
la feuille B.

J'espere m'etre bien exprimé

Merci d'avance pour votre aide!
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
Jacky
Le #4802161
Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée "recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ


"tylerguile" de news:
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!


JB
Le #4802151
Bonsoir,

Avec Filtre élaboré.

Extraction automatique
On veut une liste triée sans doublons des noms de la feuille BD pour
lesquels dette>0

Private Sub Worksheet_Activate()
Sheets("bd").[A1:B1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("result").[D1:D2], CopyToRange:=[A1],
unique:=True
End Sub

http://cjoint.com/?iuxe7eCbG6

http://boisgontierjacques.free.fr/pages_site/FiltreElabore.htm#ExtractionAu to

JB
http://boisgontierjacques.free.fr/


On 20 août, 22:55, "Jacky"
Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée " recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple icihttp://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ

"tylerguile" denews: 1552F59A-4420-4A71-ABC7-78339B26C__BEGIN_MASK_n#9g02mG7!__...__EN D_MASK_i?a63jfAD$



Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom dispar ait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!- Masquer le texte des messages préc édents -


- Afficher le texte des messages précédents -



JB
Le #4802141
Bonsoir,

Faire l'extraction à chaque saisie n'est pas utile puisque le résultat
est sur un autre onglet (que l'on ne voit pas).
Il est + économique de faire l'extraction seulement lorsque l'on
sélectionne l'onglet résultat.

JB
On 20 août, 22:55, "Jacky"
Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée " recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple icihttp://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ

"tylerguile" denews: 1552F59A-4420-4A71-ABC7-78339B26C__BEGIN_MASK_n#9g02mG7!__...__EN D_MASK_i?a63jfAD$



Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom dispar ait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!- Masquer le texte des messages préc édents -


- Afficher le texte des messages précédents -



tylerguile
Le #4802131
Merci Jacky!
Ceci à répondu à ma question à une chose près...
C'est que les valeurs ne changent pas de manière automatique comme pour une
formule...
Est-ce que c'est moi qui suis nul ou j'ai zappé qqch?

Merci encore!!!


Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée "recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ


"tylerguile" de news:
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!







Jacky
Le #4802121
Re...
C'est que les valeurs ne changent pas de manière automatique
Dans mon exemple la feuille recap est mis à jour à chaque modif de la

feuille BD

Regarde aussi la solution de JB avec un filtre élaboré, qui avec des données
importantes est beaucoup plus rapide.
--
Salutations
JJ


"tylerguile" de news:
Merci Jacky!
Ceci à répondu à ma question à une chose près...
C'est que les valeurs ne changent pas de manière automatique comme pour
une
formule...
Est-ce que c'est moi qui suis nul ou j'ai zappé qqch?

Merci encore!!!


Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée "recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ


"tylerguile" message
de news:
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom
disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!









JB
Le #4802101
Avec formule matricielle:

=SI(ESTNUM(PETITE.VALEUR(SI(dette>0;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));INDEX(Noms;PETITE.VALEUR(SI(dette> 0;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));"")

http://cjoint.com/?iuxJOgAheo

JB


On 20 août, 23:12, tylerguile wrote:
Merci Jacky!
Ceci à répondu à ma question à une chose près...
C'est que les valeurs ne changent pas de manière automatique comme pour une
formule...
Est-ce que c'est moi qui suis nul ou j'ai zappé qqch?

Merci encore!!!




Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée "recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ

"tylerguile" denews: 1552F59A-4420-4A71-ABC7-78339B26C__BEGIN_MASK_n#9g02mG7!__...__ END_MASK_i?a63jfAD$
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du typ e:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom disp arait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!- Masquer le texte des messages préc édents -



- Afficher le texte des messages précédents -




Jacky
Le #4802061
Bonsoir JB
Il est + économique de faire l'extraction seulement lorsque l'on
sélectionne l'onglet résultat.
Oui, remarque tout à fait justifiée et je t'en remercie,

Si tylerguile opte pour ce code cela donnerai ceci
'------------
Private Sub Worksheet_Activate()
Application.EnableEvents = False
[a:b].ClearContents
Sheets("bd").[a1:b1].Copy [a1]
For Each C In Sheets("bd").Range("b2:b" &
Sheets("bd").[a65536].End(3).Row)
If C > 0 Then Sheets("bd").Range("a" & C.Row & ":b" & C.Row).Copy
Range("a" & [a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'------------------
A placer dans le module de la feuille recap
--
Salutations
JJ


"JB"
Bonsoir,

Faire l'extraction à chaque saisie n'est pas utile puisque le résultat
est sur un autre onglet (que l'on ne voit pas).
Il est + économique de faire l'extraction seulement lorsque l'on
sélectionne l'onglet résultat.

JB
On 20 août, 22:55, "Jacky"
Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée "recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple icihttp://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ

"tylerguile" message
denews:
1552F59A-4420-4A71-ABC7-78339B26C__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom
disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!- Masquer le texte des messages
précédents -


- Afficher le texte des messages précédents -



Jacky
Le #4802051
Re....
Attention toutefois, ce code contient l'instruction "
Application.EnableEvents = False"
Si pendant tes essais tu as eu un plantage, il faudra fermer xl, pour
réactivé les fonctionnalités de cette instruction
C'est sans doute à cause de cela que..............
C'est que les valeurs ne changent pas de manière automatique comme pour
une formule...



--
Salutations
JJ


"Jacky"
Re...
C'est que les valeurs ne changent pas de manière automatique
Dans mon exemple la feuille recap est mis à jour à chaque modif de la

feuille BD

Regarde aussi la solution de JB avec un filtre élaboré, qui avec des
données importantes est beaucoup plus rapide.
--
Salutations
JJ


"tylerguile" message de news:
Merci Jacky!
Ceci à répondu à ma question à une chose près...
C'est que les valeurs ne changent pas de manière automatique comme pour
une
formule...
Est-ce que c'est moi qui suis nul ou j'ai zappé qqch?

Merci encore!!!


Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée
"recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ


"tylerguile" message
de news:
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du
type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom
disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!













Jacky
Le #4802021
Re...
Joliiiiiie
:-))
--
Salutations
JJ


"JB"
Avec formule matricielle:

=SI(ESTNUM(PETITE.VALEUR(SI(dette>0;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));INDEX(Noms;PETITE.VALEUR(SI(dette>0;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));"")

http://cjoint.com/?iuxJOgAheo

JB


On 20 août, 23:12, tylerguile wrote:
Merci Jacky!
Ceci à répondu à ma question à une chose près...
C'est que les valeurs ne changent pas de manière automatique comme pour
une
formule...
Est-ce que c'est moi qui suis nul ou j'ai zappé qqch?

Merci encore!!!




Bonsoir,
Une feuille avec les données nommée "BD" et une feuille nommée
"recap"
avec le resultat
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets("recap").[a:b].ClearContents
[a1:b1].Copy Sheets("recap").[a1]
For Each C In Range("b2:b" & [a65536].End(3).Row)
If C <> 0 Then Range("a" & C.Row & ":b" & C.Row).Copy
Sheets("recap").Range("a" & Sheets("recap").[a65536].End(3).Row + 1)
Next
Application.EnableEvents = True
End Sub
'----------------
Exemple ici
http://cjoint.com/?iuw1ZkvnVV

--
Salutations
JJ

"tylerguile" message
denews:
1552F59A-4420-4A71-ABC7-78339B26C__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$
Bonjour,

Voilà j'ai un classeur avec une feuille A et une feuille B
Dans la feuille A, j'ai un tableau à 2 colonnes:
Une colonne NOM et une colonne DETTE
Je souhaiterais savoir comment faire pour avoir une extraction du
type:

Si DETTE >0 alors copier le nom de la meme ligne vers la feuille B
(colonneA).
Par ailleurs, je souhaiterais que cette extraction soit "dynamique" de
telle
sorte que si dans la feuille A, la DETTE devient 0, alors le nom
disparait
de
la feuille B.

J'espere m'etre bien exprimé...

Merci d'avance pour votre aide!- Masquer le texte des messages
précédents -



- Afficher le texte des messages précédents -




Publicité
Poster une réponse
Anonyme