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 :

Compiler plusieurs feuilles en une seule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Par défaut Compiler plusieurs feuilles en une seule
    Je tente de fair un résumé de plusieurs feuilles sur la même feuille en VBA. J'ai seulement besoin de l'information des 9 premières colonnes de chaque feuilles (dont les 5 premières colonnes contiennent des formules) puis de trier le tout en ordre alphabétique mais rien ne s'affiche même si je tente de l'adapter...

    Si quelqu'un pourrait m'aiderait, j'apprécierais vraiment beaucoup!

    Merci

    Dragonwood
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Bonjour,

    Si les formules ont besoin d'informations qui sont dans les colonnes qui ne sont pas recopiées, c'est sûr cela donne de mauvais résultats.

    C'est à toi de voir, tu peut faire un copier coller valeurs, mais dans ce cas les valeurs ne seront plus mises à jour. Cela dépend de ton besoin.

    PPz

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Par défaut
    Salut,

    J'aimerais savoir ce qui est le mieux, copier-coller ou bie faire une boucle for.

    De plus, comment je fais pour coller l'info de toute la ligne si je me base seulement sur la colonne des noms:

    Pour chaque feuille
    Si Cell_Nom_Feuill1 = Cell_Nom_Feuill2
    Copie la ligne de colonne 1 à 9 de Cell_Nom_Feuill2
    Sinon ne copie rien
    Next
    End sub

    Également, faut je trouve un moyen de ne pas copier les cellules vides pour compiler le tout sur la même feuille.

    Je vais mettre la macro sur un bouton pour faire la mise a jour à chaque fois, en prévoyant d'effacer les cellules avant de les remplacer par d'autres.

    Je ne suis pas trop un expert du VB...je connais seulement les bases

    Merci

    Dragonwood

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Public Sub Rapartriement()
    Dim sht As Worksheet
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
     
    'Effacer données existentes dans Band
    With Sheets("Band")
        .Range("A8:I" & .Cells(Rows.Count, "A").End(xlUp).Row + _
            1).EntireRow.ClearContents
    End With
     
    'Rapatriement données avec boucle sur les feuilles (en filtrant les données non vides)
    For Each sht In ThisWorkbook.Worksheets
        If sht.Name <> "Band" Then
            With sht
                .AutoFilterMode = False                                             'Enlève le filtre automatique
                LastLig = .Cells(Rows.Count, "F").End(xlUp).Row                     'Dernière ligne remplie de la colonne F
                If LastLig > 7 Then                                                 'Si des données existent en colonne F
                    .Range("A7").AutoFilter Field:=6, Criteria1:="<>"               'On filtre sur les cellules non vides de la colonne F
                    .Range("A8:I" & LastLig).SpecialCells(xlCellTypeVisible).Copy   'On copie les données issues du filtre automatique
                    Sheets("Band").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial _
                        Paste:=xlValues                                             'Collage special dans première cellule non vide de la colonne A de feuille Band
                    Application.CutCopyMode = False
                    .AutoFilterMode = False
                End If
            End With
        End If
    Next sht
     
    'Tri données déjà rapatriés dans feuille Band
    With Sheets("Band")
        LastLig = .Cells(Rows.Count, "F").End(xlUp).Row
        If LastLig > 7 Then
            .Range("A7:I" & LastLig).Sort Key1:=.Range("F7"), Order1:=xlAscending, _
                Key2:=.Range("E7"), Order2:=xlAscending, Header:=xlYes
            .Range("A7").Select
        End If
    End With
    End Sub

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Par défaut
    Salut,


    Ça fonctionne !! Je te remercie énormément, tu m'as été d'une aide totalement précieuse Cela faisait maintenant 2 semaines que je tentais de me rappeler comment écrire... Je te remercie encore

    À la prochaine

    Dragonwood

Discussions similaires

  1. [XL-2010] Boucle+compilations de plusieurs feuilles en une seule
    Par pierrejean dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2012, 20h27
  2. [XL-2003] Compilation des données de plusieurs feuilles en une seule?
    Par USnico dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2009, 19h08
  3. Import de tableaux de plusieurs feuilles dans une seule
    Par Jibicas dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 22/04/2008, 09h40
  4. import de données de plusieurs feuilles dans une seule
    Par naevus dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 10/01/2008, 14h32
  5. copier des plages variables de plusieurs feuilles vers une seule
    Par irene15 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 22/06/2007, 14h44

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