boucle

N

Naim lahcen

Guest
bonjour à tous,

J'ai un fichier excel avec données totalisant 2200 informations et avec diverses colonnes, et bien sur avec autofilter ON.

J'ai une feuille sur le meme classeur appelé Index avec outons de commandes multiples pour acceder par macro aux données selectiones comme suit

Quant je clique sur armenia le classeur des donnees concernant ce pays
seul seront affichés.

Mon probleme est comment utiliser une boucle pour parcourir les 
boutons de commandes avec les instructions suivantes;

Private Sub CommandButton35_Click()
ActiveSheet.Shapes("CommandButton1").Select
Sheets("AgentData").Select
Selection.AutoFilter Field:=1, Criteria1:="armenia"
End Sub

Merci de votre aide.
Lahcenl
 
V

Vériland

Guest
Bonjour Naim lahcen et toi le Forum,

je passe par là car je n'ai pas tout capté concernant le problème de boucle sur les boutons...en fait je n'arrive pas à saisir ta question...

comment utiliser une boucle pour parcourir les boutons de commandes avec les instructions suivantes...

bon pour définir le critère du bouton il faudrait davantage lui donner une valeur à ce bouton et non l'objet lui même...ce qui donnerait cette procédure d'appel

Private Sub CommandButton35_Click()
Dim Valeur As String
Valeur = "Armenia"
Selection.AutoFilter Field:=1, Criteria1:=Valeur
End Sub


Dans le même ordre, j'entrevoie mieux ce principe depuis la valeur d'une cellule...par exemple la procédure suivante effectera le critère du filtre automatique selon la valeur de la cellule C2...

Private Sub CommandButton35_Click()
Selection.AutoFilter Field:=1, Criteria1:=[c2].Value
End Sub


c'est déjà plus simple puisque la valeur de cette cellule peut changer...

mais ai-je bien compris ???

A+Veriland.gif


PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...
 
N

Naim lahcen

Guest
J'ai dans mon programme 52 boutons de commandes.

Est ce que je dois reproduire la meme macro pour tout les boutons 52 fois

ActiveSheet.Shapes("CommandButton1").Select
Sheets("AgentData").Select
Selection.AutoFilter Field:=1, Criteria1:="egypt"

ou bien il serait interessant de faire une boucle qui fait le meme boulot
à chaque fois et seul le critere pays change.

Merci.
 
V

Vériland

Guest
re,
smiley_115.gif

ben moi je ne sais pas comment se présente ton fichier mais pour moi une seule procédure devrait être suffisante...

smiley_289.gif


Donc, à la place d'avoir des boutons un peu partout sur la feuille, on peut très bien imaginer avoir un ComboBox qui liste les 52 pays (
520.gif
)
et que depuis ce combo box selon la selection faite, le critère du filtre automatique soit défini...

Ce qui donnerait ceci...

Private Sub ComboBox1_Change()
Dim Valeur As String
Valeur = ComboBox1.Value
Selection.AutoFilter Field:=1, Criteria1:=Valeur
End Sub


Donc le principe est simple...on sélectionne un nom dans la liste du comboBox (tu peux définir une plage dans les propriétés de celui-ci avec ListFillRange par ex : A1:A52) et le critère se réfère selon la valeur de la sélection du ComboBox...ce qui à mon avis serait mieux que des boutons...

smiley_793.gif


A+Veriland.gif
 
V

Vériland

Guest
Bon ben me revoiloù...

Voici donc un exemple concret depuis un ComboBox que j'espère assez explicite...Alors je l'ai établi d'après ce que j'ai pu comprendre depuis le début avec ta question de boucle...
Mais ??!!??...il n'y a pas de boucle la dedans...lol...Enfin bref...à tester...
smiley_651.gif


Euh tant que j'y pense...si tu es connecté, tu peux même visiter du pays avec ce fichier...par contre si cela ne correspnd pas précisément à ce que tu souhaites, je t'aurais au moins fait sortir du bureau (si tu y est)...hi hi hi

A+Veriland.gif
 

Pièces jointes

  • PAYS_COMBO_VL.zip
    24.8 KB · Affichages: 19

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom