Etablir une liste.....tout simplement

pointup

XLDnaute Nouveau
Bonjour à tous,
J'utilise rarement excel et à chaque fois que j'en ai l'utilité, j'ai d'énormes difficultés pour mettre en oeuvre rapidement mes requêtes . Je fais donc appel à la communauté et à votre gentillesse.....Par avance un grand merci pour votre engagement au service des autres.Mon problème est certainement simple:
J'ai un classeur avec 2 feuilles contenant chacune un tableau composé de colonnes:
Nom;Prénom;adresse;code postal;ville;.....;bus
Mon idée: récupérer la liste des personnes (nom et prénom) qui prennent le bus (il y a une croix dans cette colonne quand c'est le cas)et la faire apparaitre sur une troisième feuille du classeur.
Certainement un exercice facile pour vous mais un véritable casse tête pour moi... .
Une fois encore merci pour votre collaboration:)
 

nolich

XLDnaute Occasionnel
Re : Etablir une liste.....tout simplement

Re :)

Envoyé par Modeste
Merci de me faire remarquer (sans avoir l'air d'y toucher;)) que j'ai -involontairement- simplifié le problème ... (pour ne pas changer :mad:) Je pense avoir fait un tout petit peu l'impasse sur la seconde feuille, pensant que c'était une copie conforme de la première. A mieux y regarder, après ton intervention, le nom du "coureur" est différent !
Ma proposition de macro basée sur un filtre élaboré en devient donc caduque ... Que dis-je: nulle et non avenue ... pas même envisageable ... un affront à la décence et au bon sens !

Tu es vraiment trop Modeste car j'ai déjà remarqué que tu effectuais un travail remarquable sur ce forum... sans en avoir l'air ;)

Pour ma part, je suis encore au boulot et donc je n'ai pas le temps de proposer une solution à notre ami pointup. Mais je le ferai dès que je serai rentré chez moi ou demain aux aurores : j'ai récupéré mon PC, certes sans mes anciens fichiers mais au moins avec MS-Office 2003 :)

Je te/vous souhaites/souhaite une excellente soirée :)

@+
 

Modeste

XLDnaute Barbatruc
Re : Etablir une liste.....tout simplement

Bonsoir à tous,

pour nolich: merci pour tes encouragements (ceci dit, tu n'as pas dû voir toutes mes interventions) Ceci dit, je te retourne le compliment: tu m'as déjà "bluffé" quelques fois. Et puis, je souris chaque fois que je vois les citations sous ta signature !

D'autre part, j'aurais été frustré de rester sur mon erreur, alors, j'ai modifiié complètement la macro. Le soir je "fonctionne" ... au radar, mais surtout en Excel 2000. J'ai testé ici et je pense que ça fonctionne, comme pointup l'espérait.
Je suis ouvert à toutes les suggestions et/ou remarques sur le code que j'ai "pondu" ... alors ne vous génez pas ... Enfin, c'est une façon de parler, hein, n'exagérez pas, non plus !

Bonne souârée à tout le monde,

Modeste
 

Pièces jointes

  • Inscriptions_2009bis(V2).zip
    22 KB · Affichages: 33
  • Inscriptions_2009bis(V2).zip
    22 KB · Affichages: 33
  • Inscriptions_2009bis(V2).zip
    22 KB · Affichages: 31

nolich

XLDnaute Occasionnel
Re : Etablir une liste.....tout simplement

Re à toutes et à tous :)

Envoyé par pointup
pas toujours aisé de se faire comprendre......pourtant c'est hyper simple, dans cette dernière feuille je souhaite voir que les noms+ prénoms+ville des personnes qui prennent le bus.Toutes les autres colonnes sont inutiles, même celle "bus".
Aller, je crois qu'on y est presque ...

Trop nase pour te proposer qqchose ce soir... On verra ça demain :)

C'est très simple en vba...

@+
 

46MNO83

XLDnaute Junior
Re : Etablir une liste.....tout simplement

Salut le Forum
Je ne sais pas si ça va te plaire..., je fais avec mes peu de connaissance
penses à renommer ta feuil 1 par BUS


Sub EnBus()
Dim bus(500, 3) 'limité à 500 prenant le bus
Sheets("20km").Select
der = Range("C" & Cells.Rows.Count).End(xlUp).Row
cpt = 0
For i = 4 To der
If Cells(i, 17) = "x" Then 'il prend le bus
cpt = cpt + 1 'compte le nbre
bus(cpt, 1) = Cells(i, 3) 'le nom de la col C
bus(cpt, 2) = Cells(i, 4) ' le prénom col D
bus(cpt, 3) = Cells(i, 13) 'la ville col M
End If
Next
Sheets("Trail").Select
der = Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 4 To der
If Cells(i, 17) = "x" Then 'il prend le bus
cpt = cpt + 1 'compte le nbre
bus(cpt, 1) = Cells(i, 3) 'le nom de la col C
bus(cpt, 2) = Cells(i, 4) ' le prénom col D
bus(cpt, 3) = Cells(i, 13) 'la ville col M
End If
Next
Sheets("BUS").Range("A2:C1000").Clear
Sheets("BUS").Select
For i = 1 To cpt
For j = 1 To 3
Cells(i + 1, j) = bus(i, j)
Next
Next
End Sub


'pense à renommer ta page feuil1 par BUS
 

Modeste

XLDnaute Barbatruc
Re : Etablir une liste.....tout simplement

Bonjour pointup, le forum,

Si tu demandes des explications complémentaires à 46MNO83 ... ça veut dire que le fichier que j'ai proposé à 21h52 ne convenait pas ? ... Ou que tu ne l'as pas vu ?
Note que je n'ai rien contre le code proposé: tu as parfaitement le droit (heureusement !) de choisir parmi les propositions ... Simplement, j'aime bien savoir ce qu'il en est: y a-t-il quelque chose que j'ai oublié ?


Modeste
 

46MNO83

XLDnaute Junior
Re : Etablir une liste.....tout simplement

salut Pointu, salut le forum
je t'ai écrit une macro
tu ouvres ton fichier
tu copies la macro
sur ton fichier, barre des menus
Outils> Macro>nouvelle Macro
tu remplaces macro1 par EnBus 'c'est le nom que j'ai mis à la macro
puis Outils>Macro> arréter l'enregistrement
et de nouveau Outils>Macro clic sur EnBus 'pour la sélectionner
clic sur pas à pas détaillé
tu sélectionnes ce qu'il y a, puis coller
tu peux fermer Microsoft Visual basic
clic droit sur le panneau attention
affecter une macro
clic sur la macro EnBus
regarde que la feuil1 soit renommée BUS
je m'absente 4 jours
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 840
Membres
103 972
dernier inscrit
steeter