Création de nouveau fichier à partir des données d'un fichier ex is
10 réponses
Robi
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE
Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05
Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08
Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14
Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui
s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT
ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont
le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceu x dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec
Bonjour,
Sub extrait()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
http://cjoint.com/?dphxXHKkDB
JB
On 14 mar, 21:41, Robi <R...@discussions.microsoft.com> wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE
Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05
Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08
Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14
Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui
s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT
ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceu x dont
le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceu x dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec
Robi
Bonjour Starwing: Merci pour ton travail. Mais lorsque je clique sur l'extraction, j'ai un message d'erreur qui me dit: la méthode Sheets de l'objet _Global a échoué. Lorsque je débogge, la ligne 90 est en jaune (sheets.add); comme je ne suis pas très fort en VB, je ne peux corriger cela. désolé.
Autre chose: le choix du montant: il me liste nécessairement les montants qui sont présents. Pas de pb si je veux savoir si une personne n'a pas payé: le chiffre est à 0; mais si elle a payé, je ne veux pas avoir seulement les 45$ par exemple: je veux tous les autres qui n'ont pas 0. Une idée? Merci encore.
Robi
Bonsoir Robi,
http://cjoint.com/?dpc3tUnWE7
Starwing
Bonjour Starwing:
Merci pour ton travail. Mais lorsque je clique sur l'extraction, j'ai un
message d'erreur qui me dit: la méthode Sheets de l'objet _Global a échoué.
Lorsque je débogge, la ligne 90 est en jaune (sheets.add); comme je ne suis
pas très fort en VB, je ne peux corriger cela. désolé.
Autre chose: le choix du montant: il me liste nécessairement les montants
qui sont présents. Pas de pb si je veux savoir si une personne n'a pas payé:
le chiffre est à 0; mais si elle a payé, je ne veux pas avoir seulement les
45$ par exemple: je veux tous les autres qui n'ont pas 0. Une idée?
Merci encore.
Bonjour Starwing: Merci pour ton travail. Mais lorsque je clique sur l'extraction, j'ai un message d'erreur qui me dit: la méthode Sheets de l'objet _Global a échoué. Lorsque je débogge, la ligne 90 est en jaune (sheets.add); comme je ne suis pas très fort en VB, je ne peux corriger cela. désolé.
Autre chose: le choix du montant: il me liste nécessairement les montants qui sont présents. Pas de pb si je veux savoir si une personne n'a pas payé: le chiffre est à 0; mais si elle a payé, je ne veux pas avoir seulement les 45$ par exemple: je veux tous les autres qui n'ont pas 0. Une idée? Merci encore.
Robi
Bonsoir Robi,
http://cjoint.com/?dpc3tUnWE7
Starwing
Robi
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non payés se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAYÉ avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre après avoir modifié les données de base, soit insérer des chiffres >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens qui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms des non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec
Bonjour JB et merci
J'aime beaucoup la présentation de ta solution.
Petite chose: le processus d'obtenir une liste de payés et de non payés se
fait en plusieurs fois, durant une journée. Or il faudrait que la macro
commence par effacer toutes les données, surtout de la feuille NON PAYÉ
avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre
après avoir modifié les données de base, soit insérer des chiffres >0 (ce
qui arrivera nécessairement durant le cours de la journée, les gens qui
arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non
Payés), je disais donc que la liste des non payés conserve les noms des non
payés antérieurs même si le nouveau solde est >0m
J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un
bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit
pb ci-haut, mon VBA n'est pas assez évolué...
Merci encore.
Robi
Bonjour,
Sub extrait()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
http://cjoint.com/?dphxXHKkDB
JB
On 14 mar, 21:41, Robi <R...@discussions.microsoft.com> wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE
Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05
Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08
Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14
Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui
s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT
ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont
le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non payés se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAYÉ avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre après avoir modifié les données de base, soit insérer des chiffres >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens qui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms des non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec
Robi
Bravo ! excepté que j'ai toujours mon pb de sheets.add qui ne fonctionne pas...
Bonjour Robi,
Il faut cocher la case à gauche de "Filtre par critère" pour avoir accès à l'autre genre d'extraction.
Starwing
Bravo ! excepté que j'ai toujours mon pb de sheets.add qui ne fonctionne pas...
Bonjour Robi,
Il faut cocher la case à gauche de "Filtre par critère"
pour avoir accès à l'autre genre d'extraction.
Il faut cocher la case à gauche de "Filtre par critère" pour avoir accès à l'autre genre d'extraction.
Starwing
JB
Sub extraitPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
Sub extraitNonPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0", Operator:=xlAnd On Error Resume Next Sheets("Nonpayé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "NonPayé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
JB
On 15 mar, 13:31, Robi wrote:
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non pay és se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAY É avant d'en générer une autre, car j'ai remarqué qu'en en généra nt une autre après avoir modifié les données de base, soit insérer des chiffre s >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens q ui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms d es non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j' ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pou r le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) .Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait envi ron 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) q ui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MO NTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve r ien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Sub extraitPayé()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
[A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
Sub extraitNonPayé()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0",
Operator:=xlAnd
On Error Resume Next
Sheets("Nonpayé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "NonPayé"
End If
[A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
JB
On 15 mar, 13:31, Robi <R...@discussions.microsoft.com> wrote:
Bonjour JB et merci
J'aime beaucoup la présentation de ta solution.
Petite chose: le processus d'obtenir une liste de payés et de non pay és se
fait en plusieurs fois, durant une journée. Or il faudrait que la macro
commence par effacer toutes les données, surtout de la feuille NON PAY É
avant d'en générer une autre, car j'ai remarqué qu'en en généra nt une autre
après avoir modifié les données de base, soit insérer des chiffre s >0 (ce
qui arrivera nécessairement durant le cours de la journée, les gens q ui
arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non
Payés), je disais donc que la liste des non payés conserve les noms d es non
payés antérieurs même si le nouveau solde est >0m
J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j' ai un
bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pou r le petit
pb ci-haut, mon VBA n'est pas assez évolué...
Merci encore.
Robi
Bonjour,
Sub extrait()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) .Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
http://cjoint.com/?dphxXHKkDB
JB
On 14 mar, 21:41, Robi <R...@discussions.microsoft.com> wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait envi ron 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE
Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05
Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08
Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14
Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) q ui
s'appellerait par exemple PAYÉ, pour les personnes dont le champ MO NTANT
ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont
le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve r ien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -
Sub extraitPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
Sub extraitNonPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0", Operator:=xlAnd On Error Resume Next Sheets("Nonpayé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "NonPayé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
JB
On 15 mar, 13:31, Robi wrote:
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non pay és se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAY É avant d'en générer une autre, car j'ai remarqué qu'en en généra nt une autre après avoir modifié les données de base, soit insérer des chiffre s >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens q ui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms d es non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j' ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pou r le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) .Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait envi ron 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) q ui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MO NTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve r ien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Starwing
Bonjour Robi,
Par curiosité change le code par: Excel.Sheets.Add
Starwing
Bonjour Robi,
Par curiosité change le code par:
Excel.Sheets.Add
Désolé... J'ai aussi essayé sheets.add (after) juste pour voir mais non... robi
Bonjour Robi,
Par curiosité change le code par: Excel.Sheets.Add
Starwing
Robi
Mon cher JB Merci ! c'est du travail de Maître ! Robi
Sub extraitPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
Sub extraitNonPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0", Operator:=xlAnd On Error Resume Next Sheets("Nonpayé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "NonPayé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
JB
On 15 mar, 13:31, Robi wrote:
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non payés se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAYÉ avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre après avoir modifié les données de base, soit insérer des chiffres >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens qui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms des non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)..Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Mon cher JB
Merci ! c'est du travail de Maître !
Robi
Sub extraitPayé()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
[A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
Sub extraitNonPayé()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0",
Operator:=xlAnd
On Error Resume Next
Sheets("Nonpayé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "NonPayé"
End If
[A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
JB
On 15 mar, 13:31, Robi <R...@discussions.microsoft.com> wrote:
Bonjour JB et merci
J'aime beaucoup la présentation de ta solution.
Petite chose: le processus d'obtenir une liste de payés et de non payés se
fait en plusieurs fois, durant une journée. Or il faudrait que la macro
commence par effacer toutes les données, surtout de la feuille NON PAYÉ
avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre
après avoir modifié les données de base, soit insérer des chiffres >0 (ce
qui arrivera nécessairement durant le cours de la journée, les gens qui
arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non
Payés), je disais donc que la liste des non payés conserve les noms des non
payés antérieurs même si le nouveau solde est >0m
J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un
bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit
pb ci-haut, mon VBA n'est pas assez évolué...
Merci encore.
Robi
Bonjour,
Sub extrait()
Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0",
Operator:=xlAnd
On Error Resume Next
Sheets("payé").Select
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Payé"
End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)..Copy
[A1]
Sheets("base").[A1].AutoFilter
End Sub
http://cjoint.com/?dphxXHKkDB
JB
On 14 mar, 21:41, Robi <R...@discussions.microsoft.com> wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE
Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05
Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08
Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14
Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui
s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT
ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont
le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -
Mon cher JB Merci ! c'est du travail de Maître ! Robi
Sub extraitPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
Sub extraitNonPayé() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:="<=0", Operator:=xlAnd On Error Resume Next Sheets("Nonpayé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "NonPayé" End If [A2:G1000].ClearContents
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1] Sheets("base").[A1].AutoFilter End Sub
JB
On 15 mar, 13:31, Robi wrote:
Bonjour JB et merci J'aime beaucoup la présentation de ta solution. Petite chose: le processus d'obtenir une liste de payés et de non payés se fait en plusieurs fois, durant une journée. Or il faudrait que la macro commence par effacer toutes les données, surtout de la feuille NON PAYÉ avant d'en générer une autre, car j'ai remarqué qu'en en générant une autre après avoir modifié les données de base, soit insérer des chiffres >0 (ce qui arrivera nécessairement durant le cours de la journée, les gens qui arrivent vont venir payer, donc leur nom doit être enlevé de la liste des Non Payés), je disais donc que la liste des non payés conserve les noms des non payés antérieurs même si le nouveau solde est >0m J'ai déjà ajouté une macro et un bouton de sorte que maintenant, j'ai un bouton PAYÉ et un NON PAYÉ, et ça fonctionne très bien. Mais pour le petit pb ci-haut, mon VBA n'est pas assez évolué... Merci encore. Robi
Bonjour,
Sub extrait() Sheets("base").[A1].AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd On Error Resume Next Sheets("payé").Select If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = "Payé" End If
Sheets("base").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)..Copy [A1] Sheets("base").[A1].AutoFilter End Sub
http://cjoint.com/?dphxXHKkDB
JB On 14 mar, 21:41, Robi wrote:
Bonjour les génies !
Voici quelques lignes mon fichier actuel qui en contient en fait environ 800
NOMFAM VILLE MODE TARIF RABAIS MONTANT DATE PAYE Béchard Boisbriand Internet 45.00 $ 5.00 $ 50 2007-03-05 Lareau Montréal Internet 45.00 $ 0.00 $ 0 2007-03-08 Leclerc Montréal Internet 45.00 $ 0.00 $ 45 2006-08-14 Pelletier Montréal Internet 45.00 $ 0.00 $ 45 2007-02-25
Je voudrais faire créer une feuille nouvelle (ou fichier nouveau) qui s'appellerait par exemple PAYÉ, pour les personnes dont le champ MONTANT ci-haut >0, et en créer une autre qui s'appellerait NON PAYÉ pour ceux dont le champ MONTANT =<0.
J'ai regardé plusieurs réponses antérieures mais je ne trouve rien.
Merci de m'aider.
Robi, du Québec- Masquer le texte des messages précédents -