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 :

copier les plusieurs cellules de plusieurs feuilles sur une feuille de synthèse.


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut copier les plusieurs cellules de plusieurs feuilles sur une feuille de synthèse.
    Bonjour,

    j'ai des feuilles de données similaires dans un fichier excel.
    je souhaite balayer chaque feuille (soit N),
    copier plusieurs de ces cellules
    par exemple cellule: "B2","B5" , "C4"

    copier les cellules de chaque feuille sur une feuille de synthèse (nouvelle feuille ou autre classeur)

    j'aimerais que les cellules d'une meme feuille se retrouvent sur une meme ligne.
    puis passer à la ligne suivante pour la prochaine feuille.

    Merci si vous pouvez me faire avancer

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Essayes un peu ce code dans un module de ton classeur contenant les feuilles à synthétiser:

    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 CreerFeuilleDeSynthese()
    ' Cette macro assume :
    '       - Option Base 0
    '       - Travail dans le classeur actif
        Dim wksSynth As Worksheet
        Dim i As Long
        Dim lSheet As Long
        Dim wks As Worksheet
        Dim rng As Range
        Dim strAdressesCellules As Variant
        Dim strSheetNames As Variant
     
        ' Remplir les tableaux des valeurs souhaitées pour les adresses de
        '      cellules et les noms de feuilles à traiter
        strAdressesCellules = Array("$A$1", "$B$3", "$C$4", "$A$2")
        strSheetNames = Array("Feuil1", "Feuil2", "Feuil3", "Feuil4", _
                                "Feuil5", "Feuil6", "Feuil7", "Feuil8")
     
        ' Créer une nouvelle feuille pour la synthèse
        Set wksSynth = Worksheets.Add(After:=Worksheets(Worksheets.Count))
     
        ' Pour toutes les feuilles du classeur
        For lSheet = 0 To UBound(strSheetNames)
            Set wks = Worksheets(strSheetNames(lSheet))
            With wksSynth.UsedRange
                If .Cells.Count = 1 Then
                    Set rng = wksSynth.UsedRange
                Else
                    Set rng = .Cells(.Rows.Count + 1, 1)
                End If
            End With
            rng.Value = wks.Name
            For i = 0 To UBound(strAdressesCellules)
                rng.Offset(0, i + 1).Value = _
                            wks.Range(strAdressesCellules(i)).Value
            Next
        Next lSheet
     
        Set wks = Nothing
        Set wksSynth = Nothing
        Set rng = Nothing
    End Sub
    Pour utiliser, tu modifies les adresses des cellules (en y ajoutant ou enlevant des entrées), tu modifies les noms des feuilles aussi.

    Tu exécutes la macro dans ton classeur contenant les feuilles en question.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut merci
    merci pour ton aide.

    j'ai trouvé la solution!!

    mais ton prog ne tourne pas, il bug sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wks = Worksheets(strSheetNames(lSheet))
    bye

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Le code ne devrait pas "bugger" sur cette ligne, à moins que les consignes d'utilisation n'aient pas été respectées (Option Base 0, code travaillant sur le classeur actif, mise en place des noms de feuille dans le tableau strSheetNames.

    Une erreur éventuelle pourrait être interceptée si tu prenais la valeur de strSheetNames(lSheet) dans une variable de type String avant de t'en servir dans l'appel à Worksheets().

    Mais le code fonctionne très bien sur mon application, je l'ai testé. Alors, pourquoi pas chez toi?...

    De toutes façons, si tu as trouvé ta réponse, il serait bien que tu l'expliques pour le bénéfice des nombreux utilisateurs du site qui sont/seront à la recherche d'une telle réponse.

    Et, surtout, ne pas oublier de cliquer le bouton "Résolu" si le problème l'est; ça évite à ceux qui veullent dépanner les autres de s'attarder sur des problèmes qui ne demandent pas de réponse.

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/07/2015, 11h55
  2. Réponses: 11
    Dernier message: 12/09/2014, 15h02
  3. [XL-2007] copier cellules de différentes feuilles sur une feuille recap
    Par izardjacky dans le forum Excel
    Réponses: 1
    Dernier message: 25/08/2013, 14h08
  4. [XL-2003] Copier plusieurs tableau d'une feuille sur une auter feuille
    Par Alex5974 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/03/2012, 15h41
  5. [XL-2003] copier plusieur feuille sur une feuille
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2011, 16h37

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