IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème extraction données VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Par défaut Problème extraction données VBA
    Bonjour,
    Je suis nouveau sur ce forum et aussi novice en VBA. Je rencontre quelques difficultés concernant des extractions de données. J’ai déjà démarré une macro qui s’appelle Extraction mais ça ne fait pas exactement ce que je veux. Je vous ai mis le fichier exemple en pièce jointe.
    La feuille Saisie comme son nom l’indique est un tableau de données alimenté régulièrement. Les données de cette feuille doivent être envoyées vers les feuilles des personnes correspondantes.
    Ex : Premier enseignant ABOH, il faut se placer sur la feuille ABOH et envoyer les données à partir de la ligne 15. 2e ligne de la feuille Saisie, toujours ABOH donc il faut extraire les données sur la feuille ABOH en dessous de la précédente.
    Autre difficulté, il faut également ajouter à la fin de chaque mois un total des heures (comme sur feuille ABOH). Le problème est que le nombre d’entrée n’est pas identique à chaque fois.
    Pour infos, le nombre de feuille dans ce classeur est réellement de 180. Je n’ai laissé que quelques feuilles pour l’exemple.
    Je suis preneur de vos lumières car je suis complétement bloqué.
    Merci d’avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    Il va falloir être plus précis.

    Dans quelle colonne se trouve le nom des enseignants?

    Si le nombre d'entrer n'est pas le même à chaque fois ça ne pose pas de problème, il te suffit de récupérer la première cellule vide.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Par défaut
    Le nom des enseignants se trouve dans la colonne "ENSEIGNANT" de la feuille saisie.

    Les données de chaque ligne de la feuille "SAISIE" doivent être extraites sur la feuille portant le nom de l'enseignant correspondant. La partie concernant l'activation de la feuille correspondant au nom de l'enseignant ne me pose pas de problème.

    Ce qui me pose problème concerne l'extraction des données. Pour le premier enregistrement à extraire de la feuille "SAISIE" vers l'enseignant correspondant, pas de soucis. Si par contre le 2e enregistrement de la feuille saisie à extraire concerne un autre enseignant, j'ai un décalage d'une ligne sur la feuille de l'enseignant, etc...

    Voici le détail de la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub Extraction()
     
    Dim PremiereLigne As Long, DerniereLigne As Long, CompteurLigne As Long
    Dim tabTemp
    Dim lngEnseignantCount As Long
    Dim FeuilleSaisie As Worksheet
    Dim NomFeuille As String
    Dim NomEnseignant As String
     
    Set FeuilleSaisie = ThisWorkbook.Worksheets("Saisie")
     
    PremiereLigne = 2
    DerniereLigne = Worksheets("Saisie").Cells(65536, 1).End(xlUp).Row
    tabTemp = FeuilleSaisie.Range(FeuilleSaisie.Cells(PremiereLigne, 1), FeuilleSaisie.Cells(DerniereLigne, 9))
     
    lngEnseignantCount = 15
     
    For CompteurLigne = 1 To DerniereLigne - 1
     
        NomEnseignant = tabTemp(CompteurLigne, 3)
     
            For N = 1 To Sheets.Count
            If Sheets(N).Name = NomEnseignant Then
                Sheets(NomEnseignant).Activate
                Exit For
            End If
            Next N
     
        Do While Not (IsEmpty(ActiveSheet.Cells(lngEnseignantCount, 1)))
        lngEnseignantCount = lngEnseignantCount + 1
        Loop
     
        ActiveSheet.Cells(lngEnseignantCount, 1) = tabTemp(CompteurLigne, 1)
        ActiveSheet.Cells(lngEnseignantCount, 2) = tabTemp(CompteurLigne, 4)
        ActiveSheet.Cells(lngEnseignantCount, 5) = tabTemp(CompteurLigne, 5)
        ActiveSheet.Cells(lngEnseignantCount, 6) = tabTemp(CompteurLigne, 6)
        ActiveSheet.Cells(lngEnseignantCount, 8) = tabTemp(CompteurLigne, 7)
     
     
    Next CompteurLigne
     
    End Sub
    J'espère avoir apporté plus de précisions. Merci en tout cas d'avoir pris le temps de regarder mon problème.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    Je te propose une autre solution:
    1- Tu copie dans chacun de tes onglets toutes tes donnés
    2- Tu fais un IF qui supprime la ligne si le nom de l'enseignant et différent du nom de l'onglet

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Par défaut
    Merci pour vos indications, le problème a été résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème extraction via VBA
    Par Alex70 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2013, 04h16
  2. [XL-2010] extraction donnée VBA
    Par Naoned005 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/07/2012, 11h55
  3. [XL-2007] Extraction Données VBA Excel
    Par Guillaume83 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2011, 11h43
  4. problème extraction de données un fichier sas
    Par aristayeta1974 dans le forum Macro
    Réponses: 1
    Dernier message: 12/05/2009, 23h40
  5. Réponses: 1
    Dernier message: 03/08/2006, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo