Extraction de données avec VBA

Fermé
Amar - 28 juil. 2015 à 01:48
 Amar - 31 juil. 2015 à 00:13
Bonjour,
J'ai une base de données excel dont les entête de colonne sont:N° inscp Prénoms Nom Date_De_Naissance Lieu_de_Naissance Sexe Etablissement Fréquenté Statut Comp Franç Dictée TSQ SVT LV1 (Ecrit) LV1 (Oral) LV2 Maths Hist-géo Educ Civiq EPS Epr E Part Epr Fac Bonus TOTAL MOYENNE RANG Résultats.
Dans la colonne "Résultats" on a seulement les données:Admis;Second_Tour;Echec.
Maintenant je veux extraire uniquement N° inscp Prénoms Nom Date De Naissance Etablissement Fréquenté et TOTAL pour les candidats "Admis" dans une autre feuille. j'ai réussi ça avec filtre avancé mais je veux le faire avec VBA.
Pourriez vous m'aider?
Merci d'avance.






4 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
28 juil. 2015 à 10:38
Bonjour

Tu peux soit le faire par formules matricielles soit en VBA

Postes un exemple de ton fichier sur cjoint.com, fais créer le lien, copies-le et reviens l'indiquer ici en précisant laquelle des 2 solutions tu préfères

Cdlmnt
Via
0
Bonjour,
Voilà: http://www.cjoint.com/c/EGCsnQKvji6
Je préfère VBA; mais la solution par formules matricielles serait aussi la bienvenue.
Vraiment merci beaucoup via55.
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
28 juil. 2015 à 10:41
Bonjour,

C'est une toute petite macro. Pour me facilité la vie au lieu des entêtes donnez moi des chiffres.

Exemple dans la feuille1 colonne 4 => feuille2 colonne 1. Enfin plus court 4>1...

Dite moi quel est la première ligne de donnée et la dernière ligne de donnée. et le nom de la première et de la 2e feuille.

Je vous ferai une petitd macro à usage unique. Sî vous le souhaitez.

--
  • Vous pouvez mettre en forme votre code grâce à la flèche en haut a droite de l'éditeur de texte.

Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utiles."
0
bonjour,
Je vous envoie le fichier http://www.cjoint.com/c/EGCsnQKvji6 et voyez ce que vous pouvez faire.
Merci par avance.
0
Bonsoir Via,
J'ai posté un exemple comme tu me l'as demandé mais jusqu'à présent je n'ai pas reçu de réponse!?
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
30 juil. 2015 à 01:27
Bonsoir Amar

Désolé j'avais zappé ton message

Finalement pas besoin ni de matricielle ni de macro
En rajoutant une colonne de décompte des admis sur la 1ere feuille, on ne reporte dans la feuille Admis que les n°s des admis par formule INDEX-EQUIV, de simples formules REHERCHEV redonne d'après ce n° les autres infos dans les colonnes suivantes
http://www.cjoint.com/c/EGDxye7gQ45

Cdlmnt
Via
0
Bonsoir.
Je n'arrive pas à ouvrir le fichier avec excel. Pourquoi?
Par ailleurs comme c'est dommage de ne pas avoir une solution VBA
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735 > Amar
30 juil. 2015 à 11:59
Bonjour

C'est chez toi qu'il y a un souci, le fichier est celui que tu m'avais envoyé, auquel j'ai simplement rajouté des formules. Personnellement j'arrive parfaitement à le rouvrir depuis cjoint

Pour la macro en VBA à mettre dans un module, voilà :
Sub admis()
x = 1
For n = 13 To 100 'boucle sur les 13 à 100 A MODIFIER si necessaire
If Sheets(2).Range("AA" & n) = "Admis" Then
x = x + 1
With Sheets(3)
.Range("A" & x) = Sheets(2).Range("C" & n)
.Range("B" & x) = Sheets(2).Range("D" & n)
.Range("C" & x) = Sheets(2).Range("E" & n)
.Range("D" & x) = Sheets(2).Range("F" & n)
.Range("E" & x) = Sheets(2).Range("I" & n)
.Range("F" & x) = Sheets(2).Range("X" & n)
End With
End If
Next n
End Sub


Cdlmnt
Via
0
Amar > via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024
30 juil. 2015 à 12:49
Bonjour,
Vous êtes le meilleur.
Mon problème est résolu car j'ai testé la macro et ça marche très bien.
Seulement, si ce n'est pas trop vous demander, comment complèter la macro pour avoir les candidats par ordre de mérite?

En tout cas UN GRAND MERCI;

Cordialement.
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735 > Amar
30 juil. 2015 à 18:56
Re

La plus simple , trie le tableau de départ dans l'ordre decroissant du total de points avant de lancer la macro

Cdlmnt
Via
0
Amar > via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024
31 juil. 2015 à 00:13
Bonsoir,
Merci beaucoup et à bientôt.
Cordialement.
0