Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
u53mAKK3KHA.4028@TK2MSFTNGP05.phx.gbl...
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eLRpJDK3KHA.1452@TK2MSFTNGP06.phx.gbl...
Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
uYuV$6J3KHA.3580@TK2MSFTNGP05.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u0PqqlJ3KHA.348@TK2MSFTNGP04.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#wnwaiJ3KHA.4332@TK2MSFTNGP02.phx.gbl...
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O5VHFTJ3KHA.5880@TK2MSFTNGP02.phx.gbl...
Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
unGly$I3KHA.4336@TK2MSFTNGP04.phx.gbl...
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
u53mAKK3KHA.4028@TK2MSFTNGP05.phx.gbl...
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eLRpJDK3KHA.1452@TK2MSFTNGP06.phx.gbl...
Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
uYuV$6J3KHA.3580@TK2MSFTNGP05.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u0PqqlJ3KHA.348@TK2MSFTNGP04.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#wnwaiJ3KHA.4332@TK2MSFTNGP02.phx.gbl...
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O5VHFTJ3KHA.5880@TK2MSFTNGP02.phx.gbl...
Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
unGly$I3KHA.4336@TK2MSFTNGP04.phx.gbl...
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
u53mAKK3KHA.4028@TK2MSFTNGP05.phx.gbl...
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eLRpJDK3KHA.1452@TK2MSFTNGP06.phx.gbl...
Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
uYuV$6J3KHA.3580@TK2MSFTNGP05.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u0PqqlJ3KHA.348@TK2MSFTNGP04.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#wnwaiJ3KHA.4332@TK2MSFTNGP02.phx.gbl...
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O5VHFTJ3KHA.5880@TK2MSFTNGP02.phx.gbl...
Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
unGly$I3KHA.4336@TK2MSFTNGP04.phx.gbl...
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule
En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" a écrit dans le message de groupe de discussion :
#
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" a écrit dans le message de
news:Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule
En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#oZ9ytK3KHA.5880@TK2MSFTNGP02.phx.gbl...
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eytzkiK3KHA.3580@TK2MSFTNGP05.phx.gbl...
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
u53mAKK3KHA.4028@TK2MSFTNGP05.phx.gbl...
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eLRpJDK3KHA.1452@TK2MSFTNGP06.phx.gbl...
Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
uYuV$6J3KHA.3580@TK2MSFTNGP05.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u0PqqlJ3KHA.348@TK2MSFTNGP04.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#wnwaiJ3KHA.4332@TK2MSFTNGP02.phx.gbl...
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O5VHFTJ3KHA.5880@TK2MSFTNGP02.phx.gbl...
Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
unGly$I3KHA.4336@TK2MSFTNGP04.phx.gbl...
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule
En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" a écrit dans le message de groupe de discussion :
#
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" a écrit dans le message de
news:Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Si tu préfères saisir le premier 0 du format dans
ton textbox, modifie cette section de la procédure
comme ceci dans la procédure générale.
'-----------------------
'Le critère basé sur la valeur du textbox.
If UserForm1.TextBox1 <> "" Then
Critère = UserForm1.TextBox1
If Left(Critère, 1) = "0" Then
Critère = Right(Critère, Len(Critère) - 1)
End If
Else
MsgBox "Remplissez d'abord de textbox."
Exit Sub
End If
'-----------------------
"michdenis" a écrit dans le message de groupe de
discussion :
#ZB$
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" a écrit dans le message de groupe de discussion :
#
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" a écrit dans le message de
news:Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Si tu préfères saisir le premier 0 du format dans
ton textbox, modifie cette section de la procédure
comme ceci dans la procédure générale.
'-----------------------
'Le critère basé sur la valeur du textbox.
If UserForm1.TextBox1 <> "" Then
Critère = UserForm1.TextBox1
If Left(Critère, 1) = "0" Then
Critère = Right(Critère, Len(Critère) - 1)
End If
Else
MsgBox "Remplissez d'abord de textbox."
Exit Sub
End If
'-----------------------
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
#ZB$bzK3KHA.1864@TK2MSFTNGP02.phx.gbl...
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#oZ9ytK3KHA.5880@TK2MSFTNGP02.phx.gbl...
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eytzkiK3KHA.3580@TK2MSFTNGP05.phx.gbl...
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
u53mAKK3KHA.4028@TK2MSFTNGP05.phx.gbl...
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eLRpJDK3KHA.1452@TK2MSFTNGP06.phx.gbl...
Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
uYuV$6J3KHA.3580@TK2MSFTNGP05.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u0PqqlJ3KHA.348@TK2MSFTNGP04.phx.gbl...
Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
#wnwaiJ3KHA.4332@TK2MSFTNGP02.phx.gbl...
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O5VHFTJ3KHA.5880@TK2MSFTNGP02.phx.gbl...
Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
unGly$I3KHA.4336@TK2MSFTNGP04.phx.gbl...
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Si tu préfères saisir le premier 0 du format dans
ton textbox, modifie cette section de la procédure
comme ceci dans la procédure générale.
'-----------------------
'Le critère basé sur la valeur du textbox.
If UserForm1.TextBox1 <> "" Then
Critère = UserForm1.TextBox1
If Left(Critère, 1) = "0" Then
Critère = Right(Critère, Len(Critère) - 1)
End If
Else
MsgBox "Remplissez d'abord de textbox."
Exit Sub
End If
'-----------------------
"michdenis" a écrit dans le message de groupe de
discussion :
#ZB$
Exemple dans la cellule de la feuille de calcul, on voit 01090
mais le premier 0 relève du format de cellule mais pas de la donnée
contenue dans la cellule. En conséquence, tu dois saisir dans
le textbox 1090 qui est le "vrai" contenu de la cellule.
Il faut faire la différence entre le contenu et le format d'une cellule.
"Péhemme" a écrit dans le message de groupe de discussion :
#
Mon cher Denis,
Ce que tu proposes est simplement *formidable*.
Cependant, pourquoi cela ne semble pas fonctionner pour les codes
commençant
par 0 ?
Les tests que j'ai effectués semblent (je prends du recul car je ne les ai
pas tous effectués) me renvoyer sur le message :
"Aucun département trouvé pour ce code postal."
En tout cas merci de cette proposition
Michel
"michdenis" a écrit dans le message de
news:Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
"Péhemme" a écrit dans le message de groupe de discussion :
Alléluia ! Cela fonctionne.
Mille mercis Denis.
Il me reste à regarder où je merdais.
Merci encore de ton aide précieuse.
Bien amicalement
Michel
"michdenis" a écrit dans le message de
news:Désolé, la macro devrait se lire comme suite :
'---------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
Application.ScreenUpdating = False
On Error Resume Next
With Feuil1
Set Rg = .Range("A5:B" & .Range("A65536").End(xlUp).Row)
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Rg.Parent.Range("B1:B2"), _
CopyToRange:Þst, Unique:úlse
End With
.ShowAllData
End With
Set Dest = Nothing
Application.ScreenUpdating = True
End Sub
'---------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
uYuV$Et tu as pensé à tes formats de cellules ??????????
Cela a fait partie de mes vérifications.
La colonne "B" est en spécial "code postal".
La colonne "A" en texte.
Par ailleurs,
1°) j'ai enregistré ton fichier
2°) je l'ai dézzipé
3°) j'ai observé que tu avais réussi à faire fonctionner le filtre
J'ai donc, sur ton fichier, juste fait : "Données/Filtrer/afficher tout"
et
relancé la macro "ListeCommunes" sans rien toucher à quoique ce soit
d'autre
: cela ne fonctionne pas.
Aurais-je le mauvais oil ?
Si toi tu l'as fait fonctionner pourquoi je n'y arrive pas ? J'en perds
mon
latin.
Michel
"michdenis" a écrit dans le message de
news:Et tu as pensé à tes formats de cellules ??????????
http://www.cijoint.fr/cjlink.php?file=cj201004/cijFosxN5W.zip
"Péhemme" a écrit dans le message de groupe de discussion :
#
Bonjour Denis,
Merci de te pencher sur mon problème.
J'ai fait un copier/coller de ta proposition, mais j'obtiens le même
résultat, c'est-à-dire que le filtre ne fonctionne pas.
Le format des codes (code postal) ou l'ampleur de la base jouent-ils un
rôle
?
Michel
"michdenis" a écrit dans le message de
news:Bonjour,
Attention, ta plage de critère et ta plage de données (colonne B)
doivent avoir le même format.
voici la macro :
'--------------------------------------
Sub ListeCommunes()
Dim Dest As Range
Dim Rg As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Feuil1
Set Rg = .Range("A5:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("B1:B2"), CopyToRange:Þst,
Unique:úlse
End With
Set Dest = Nothing
End Sub
'--------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
unGly$
Bonjour à Tous,
Je deviens chèvre... à double titre.
J'essaie de me lancer dans quelque chose que je ne sais pas faire
(saisir
un
numéro de code postal dans une textbox et obtenir dans une combobox la
liste
des communes portant ce code postal) mais en amont, je découvre que je
ne
sais même plus utiliser les filtres élaborés...
Dans la macro qui suit, la totalité de la base se recopie sur la
destination
au lieu de n'obtenir que la liste issue du filtre en "B1:B2".
La base est en "A6:B39183"
Pour tout dire, même à la main le filtre ne s'exécute pas (?)
L'un d'entre vous pourrait-il avoir la gentillesse de me dire pourquoi
mon
filtre ne fonctionne pas.
Sub ListeCommunes()
Dim R As Long
Dim Dest As Range
Set Dest = Worksheets("Feuil2").Range("C2")
With Sheets("Feuil1")
R = .Range("A65536").End(xlUp).Row
.Range("A6:B" & R).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B1:B2"), Unique:úlse
.Range("_FilterDatabase").Resize(.Range("_FilterDatabase") _
.Rows.Count -
1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
Dest
End With
'Sheets("Feuil1").ShowAllData
Set Dest = Nothing
End Sub
A tout hasard, j'ai mis ce fichier sur ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cij2uUUsZU.xls
Merci d'avance de votre aide
Michel
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
Bonsour® "michdenis"Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
;o)))
j'utilise EXCEL 10.0
ou trouve-t-on et comment installe-ton le pilote ISAM ???
Bonsour® "michdenis"
Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
;o)))
j'utilise EXCEL 10.0
ou trouve-t-on et comment installe-ton le pilote ISAM ???
Bonsour® "michdenis"Regarde cet exemple :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijttt1ZAH.xls
Tu ouvres ton formulaire, tu saisis dans ton textbox un code postal
et ton combobox affiche la liste des communes.
J'ai utilisé ADO plutôt qu'un filtre élaboré... c'est plus rapide à
l'exécution.
;o)))
j'utilise EXCEL 10.0
ou trouve-t-on et comment installe-ton le pilote ISAM ???
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !
J'ai ouvert la partition Excel 2010.
J'obtiens le message : "Impossible de trouver le fournisseur, il est
peut-être mal installé."
J'ai téléchargé à nouveau MDAC 2.8 + service pack 1 .
Ça plante toujours. Je ferme le tout. Autre chose à faire que perdre mon
temps !