Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes
B, F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même
liste, mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes
B, F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même
liste, mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes
B, F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même
liste, mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
bonjour Michel,
il faut inclure la ligne de titre
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
isabelle
------------------------------------------------------------------
Le 2011-03-29 10:06, Péhemme a écrit :Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes B,
F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même liste,
mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
bonjour Michel,
il faut inclure la ligne de titre
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
isabelle
------------------------------------------------------------------
Le 2011-03-29 10:06, Péhemme a écrit :
Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes B,
F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même liste,
mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
bonjour Michel,
il faut inclure la ligne de titre
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
isabelle
------------------------------------------------------------------
Le 2011-03-29 10:06, Péhemme a écrit :Bonjour à Tous,
Avant que je ne me jette par la fenêtre, quelqu'un peut-il me dire
pourquoi, dans ce p#£$°& de fichier joint mon simple filtre élaboré
(qu'il disait) ne fonctionne pas ?
Les n° de comptes de la colonne M ne sont que la recopie des colonnes B,
F et J.
Je trie ces n° de comptes en ordre croissant.
Je souhaite extraire et recopier en colonne P ligne 5 cette même liste,
mais sans doublons.
J'ai une macro (issue de l'enregistreur de macro) qui devrait le faire :
Sub Macro3()
Range("M5:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P5"), Unique:=True
End Sub
Cela fonctionne pour le n° 658100, mais pas pour le n° 101000.
Où merde-je ? À traduire par "Quéquiya-quivapa" ?
;-))
Pour vous faire gagner du temps, un extrait :
http://www.cijoint.fr/cjlink.php?file=cj201103/cijfqNCkRo.xls
À l'ouverture du dossier, ne mettez pas à jour les liaisons.
Merci d'avance à toutes les bonnes volontés.
Michel
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites
la question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes
ont un nom de client identique, vos macros ne fonctionnent pas de
façon satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites
la question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes
ont un nom de client identique, vos macros ne fonctionnent pas de
façon satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" <michdenis@hotmail.com> a écrit dans le message de
news:imssak$t9m$1@speranza.aioe.org...
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites
la question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes
ont un nom de client identique, vos macros ne fonctionnent pas de
façon satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :
Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" <michdenis@hotmail.com> a écrit dans le message de
news:imssak$t9m$1@speranza.aioe.org...
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :
Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" <michdenis@hotmail.com> a écrit dans le message de
news:imssak$t9m$1@speranza.aioe.org...
Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------
bonjour Michel,
voilà,
Sub Macro1()
'isabelle
Dim c As Range, Client As Range, Facture As Range, x As Range, y As Range
Application.ScreenUpdating = False
With Sheets("Détail") '<--- Adapter au nom de la feuille du tableau
Set Client = .Range("F6:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I6:I" & .Range("I65536").End(xlUp).Row)
Set x = .Range(Client(2).Address & ":" &
Client(Client.Count).Address)
Set y = .Range(Facture(2).Address & ":" &
Facture(Facture.Count).Address)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=x
ActiveWorkbook.Names.Add Name:="fact", RefersTo:=y
End With
With Sheets("CA_2010")
Call Vide
Client.AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=.Range("A1"), Unique:=True
For Each c In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address
& ")*(fact))"
Next
With .Range("B1:B" & .Range("A65536").End(xlUp).Row)
.Value = .Value
End With
.Range("G1").Select
End With
With Application
.Names("cl").Delete
.Names("fact").Delete
.ScreenUpdating = True
End With
End Sub
isabelle
------------------------------------------------------------------
Le 2011-03-29 13:20, Péhemme a écrit :Chers Isabelle et Denis,
Mille mercis pour tout, mais ça, vous le savez déjà.
Pouvez-vous un instant revenir sur les réponses que vous avez faites la
question d'achille en date du 24/03/2010 à 15:14.
À la suite de vos réponses, j'avais monté un petit fichier pouvant me
servir de modèle...
À force de tâtonnements, je m'aperçois que si les 2 premières lignes ont
un nom de client identique, vos macros ne fonctionnent pas de façon
satisfaisante.
Si c'est moi qui n'ait rien compris, merci de ne pas me frapper sur la
tête.
;-))
Mon fichier exemple tiré de vos réponses est là :
http://www.cijoint.fr/cjlink.php?file=cj201103/cij5LJAoEo.xls
Bien amicalement
Michel
"MichD" a écrit dans le message de
news:imssak$t9m$Bonjour,
Ta macro fonctionne très bien :
Un filtre élaboré requiert une étiquette de colonne, j'ai modifié
tes plages de cellules dans la macro pour les y inclure.
'---------------------------------------
Range("M4:M18").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("P4"), Unique:=True
'---------------------------------------
Assure-toi que dans ton classeur l'étiquette Compte N° est identique
pour
chacune des colonnes où cette appellation est mentionnée. Une façon de
faire, utiliser un copier-coller...
MichD
--------------------------------------------