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 :

récupérer des données sur plusieurs feuilles en même temps


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut récupérer des données sur plusieurs feuilles en même temps
    Bonjour

    j'ai un soucis , j'ai un classeur excel contenant 5 feuilles s'intitulant XXXX,YYYY,ZZZZ,AAAA,BBBB

    dans ces 5 feuilles j'ai une colonne qui recense les codes client , il s'agit de la colonne AF, l'emplacement reste le même quelque soit les feuilles

    j'aimerais récuperer tous les codes de ces 5 feuilles et les mettre sur une nouvelle feuille

    Merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Est-ce que cela te convient ?


    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
    Dim Origin, Master As Worksheet
     
    Sub transfert_feuille()
    Set Origin = ActiveSheet
    Workbooks.Add
    Set Master = ActiveSheet
     
    transfert ("XXXX")
    transfert ("YYYY")
    transfert ("ZZZZ")
    transfert ("AAAA")
    transfert ("BBBB")
     
    End Sub
     
     
    Sub transfert(feuille)
    Origin.Activate
    Sheets(feuille).Select
    Range(Range("af1"), Range("af1").End(xlDown)).Copy
    Master.Activate
    If Cells(1, 1) = "" Then
        Range("a1").PasteSpecial
    Else
        Range("a1").End(xlDown).Offset(1, 0).PasteSpecial
    End If
    End Sub

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    le programme marche nickel mais pourquoi ça me les mets dans un nouveau classeur ?

    est ce qu'il y a une manière dans le mettre dans le même classeur et dans une feuille intitulée doublons

    Le must serait de m'insérer des commentaires pour comprendre le programme

    merci sinon pour ton aide

    non c'est bon j'ai résolu le problème

    mais il me reste un problème

    j'ai oublié de préciser qu'il existe une feuille nommée SSSS déjà programmé pour prendre toute les clés

    je ne vois pas comment faire pour affecter toutes les clés dans cette feuilles

    voilà merci d'avance

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Voila le code commenté

    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
    Dim Origin, Master As Worksheet 'déclaration des variables qui vont pouvoir être utilisé dans ce module
     
    Sub transfert_feuille()
    Set Origin = ActiveSheet 'déclaration de la feuille active comme "Origine"
    Workbooks.Add 'Ajout d'un nouveau classeur, pour ajouter une nouvelle feuille dans le classeur existant, il suffit de faire :
    'Set Master = Worksheets.Add(Before:=Sheets(1)) 'Crée une nouvelle feuille, la place en premiere position, et la déclare comme Master 
    'Master.Name = "Doublon" 'donne le nom Doublon à l'onglet
    Set Master = ActiveSheet 'déclaration de la feuille active comme "Master", ligne inutile si worksheets.add à été utilisé
     
    transfert ("XXXX") 'appelle de la sub transfert avec comme élément de variable le nom voulu (ici XXXX)
    transfert ("YYYY")
    transfert ("ZZZZ")
    transfert ("AAAA")
    transfert ("BBBB")
     
    End Sub
     
     
    Sub transfert(feuille) 'Ici la variable rentré plus haut est pris en compte
    Origin.Activate 'activation du classeur Origin, dans le cas ou worksheet.add à été fait, il suffit de faire Origin.select
    Sheets(feuille).Select 'Selection de la feuille correspondante
    Range(Range("af1"), Range("af1").End(xlDown)).Copy 'Copie de la plage qui contient les données
    Master.Activate 
    If Cells(1, 1) = "" Then 'si la cellule A1 est vide
        Range("a1").PasteSpecial 'alors copie des infos dans la cellule A1
    Else 'sinon
        Range("a1").End(xlDown).Offset(1, 0).PasteSpecial  'copie sur la première cellule vide (utilisation du offset qui permet de décaler
    End If
    End Sub
    J'ai essayé d'être le plus clair possible, il ne faut pas hésiter à utiliser F8 qui permet de dérouler le code pas à pas et donc de comprendre ce qu'il fait

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    ah génial merci

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

Discussions similaires

  1. [XL-2003] Récupérer des données de plusieurs feuilles vers une seule
    Par ikobana dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/12/2014, 21h15
  2. [XL-2007] Copier des données sur plusieurs feuilles suivant certains critères
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/09/2014, 19h04
  3. [XL-2007] automatiser des données sur plusieurs feuilles Excel
    Par huscky dans le forum Excel
    Réponses: 8
    Dernier message: 29/08/2013, 20h17
  4. Manipuler des données sur plusieurs feuilles
    Par gil71 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/05/2010, 14h55
  5. Appliquer PageSetup sur plusieurs feuilles en même temps
    Par sl.info dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/10/2007, 14h22

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