Extraction de données avec VBA

Amar -  
 Amar -
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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. Amar
       
      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
  2. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
     
    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
    1. Amar
       
      bonjour,
      Je vous envoie le fichier http://www.cjoint.com/c/EGCsnQKvji6 et voyez ce que vous pouvez faire.
      Merci par avance.
      0
  3. Amar
     
    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
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. Amar
       
      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
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Amar
         
        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
      2. Amar > via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention  
         
        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
      3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Amar
         
        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
      4. Amar > via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention  
         
        Bonsoir,
        Merci beaucoup et à bientôt.
        Cordialement.
        0