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 :

Copie des mêmes cellules de plusieurs feuilles avec format dans une autre feuille [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut Copie des mêmes cellules de plusieurs feuilles avec format dans une autre feuille
    Bonjour,

    J'essaie de copier en premier un ensemble de cellule, vers une autre feuille mais en vain.
    Erreur 424, sur le code en gras, s'affiche mais je ne trouve pas pourquoi.
    J'ai essayé plusieurs méthode mais sans succès.
    Voici mon code
    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
    Private Sub CommandButton13_Click() 'Edition PV
    Dim lgfin, page As String
    Dim decalage As Integer
    Dim WS As Worksheet
    
        TriFeuilsCrois      'Tri des feuilles
        'Création d'une dernière feuille "PV"
         Sheets.Add.Move After:=Sheets(Sheets.Count)
         ActiveSheet.Name = "PV"
         
        'Création TITRE avec mise en forme
         Worksheets("PV").Range("B1") = "PROCES VERBAL"
         
        'copie entête de feuille "Réso" avec mise en forme
          Worksheets("Réso").Range("B2:F4").Copy _
          Destination:=Worksheets("PV").Range("B2:F4")
          
        'Worksheets("Réso").Range("B2:F4").Select
        'Selection.Copy
        'Worksheets("PV").Range("B2:F4").Select
        'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        'SkipBlanks:=False, Transpose:=False
        'Application.CutCopyMode = False
        
        'transfert des résolutions dans "PV"
        decalage = 0
        'pour toutes les feuilles "RésoXX" (ou de feuil4 à avant dernière feuil)
        'copie de la RésoXX avec formatage et collage à la suite dans feuille "PV"
        For Each WS In Worksheets
                'pour ne cibler que les feuilles "RésoXX"
            If InStr(1, Sh.Name, "Réso") > 0 _
              And Len(Sh.Name) > 4 Then   'pour exclure la feuille Réso
                lgfin = WS.Cells(Cells.Rows.Count, "F").End(xlUp).Row
                WS.Range("A6:F" & lgfin).Copy Destination:=Worksheets("PV").Range("A" & lgfin + decalage)
                decalage = decalage + lgfin + 1
            End If
        Next WS
    end sub
    Quelqu'un saurait-il m'aider svp? merci

  2. #2
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    OOOOOH!
    j'ai trouvé mon erreur!

    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
    Private Sub CommandButton13_Click() 'Edition PV
    Dim lgfin, page As String
    Dim decalage As Integer
    Dim WS As Worksheet
    
        TriFeuilsCrois      'Tri des feuilles
        'Création d'une dernière feuille "PV"
         Sheets.Add.Move After:=Sheets(Sheets.Count)
         ActiveSheet.Name = "PV"
         
        'Création TITRE avec mise en forme
         Worksheets("PV").Range("B1") = "PROCES VERBAL"
         
        'copie entête de feuille "Réso" avec mise en forme
          Worksheets("Réso").Range("B2:F4").Copy _
          Destination:=Worksheets("PV").Range("B2:F4")
          
        'Worksheets("Réso").Range("B2:F4").Select
        'Selection.Copy
        'Worksheets("PV").Range("B2:F4").Select
        'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        'SkipBlanks:=False, Transpose:=False
        'Application.CutCopyMode = False
        
        'transfert des résolutions dans "PV"
        decalage = 0
        'pour toutes les feuilles "RésoXX" (ou de feuil4 à avant dernière feuil)
        'copie de la RésoXX avec formatage et collage à la suite dans feuille "PV"
        For Each WS In Worksheets
                'pour ne cibler que les feuilles "RésoXX"
            If InStr(1, WS.Name, "Réso") > 0 _
              And Len(WS.Name) > 4 Then   'pour exclure la feuille Réso
                lgfin = WS.Cells(Cells.Rows.Count, "F").End(xlUp).Row
                WS.Range("A6:F" & lgfin).Copy Destination:=Worksheets("PV").Range("A" & lgfin + decalage)
                decalage = decalage + lgfin + 1
            End If
        Next WS
    end sub
    Par contre maintenant j'aimerais que les colonnes se mettent automatiquement à la bonne largeur de remplissage.
    Quelqu'un saura-t-il m'aider svp?

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    C'est quoi, la bonne largeur de colonne ? Celle de quelle feuille ? (puisque plusieurs feuilles source et une seule de destination)
    Sois s'il te plait très précis en ce qui concerne ce point.

  4. #4
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Bonsoir unparia,

    La bonne largeur c'est celle qui ne coupe pas les mots à l'intérieur de la cellule.
    J'avais un code mais je ne le retrouve pas. La colonne s'ajustait à la largeur du texte qui était dans la cellule en fait.

  5. #5
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    J'ai trouvé cela t ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("PV").Columns.AutoFit
    Mais comme j'ai des colonnes fusionnées je vais essayé de figer mes colonne dans une taille définie.
    Ce qui résoudra aussi mon problème de format ;-)

    Merci

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

Discussions similaires

  1. Copier coller une feuille dans une autre feuille avec condition
    Par souhail72 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/03/2015, 09h52
  2. Réponses: 6
    Dernier message: 06/01/2014, 21h08
  3. [XL-2007] copier coller valeur dans une autre feuille avec itération de colonne
    Par profnans dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 24/02/2013, 19h21
  4. Réponses: 5
    Dernier message: 21/06/2012, 14h22
  5. recherchev dans une autre feuille avec condition
    Par lucien(67) dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/12/2010, 18h22

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