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 coller multiple


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 511
    Par défaut Copier coller multiple
    Bonjour a tous,

    Je bloque sur un problème de copier coller sur une sélection multiple et je n'arrive pas a trouver de solution

    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
    Set rang1 = Range("B5", ActiveSheet.Range("F65536").End(xlUp))
        Set rang2 = Range("H5", ActiveSheet.Range("J65536").End(xlUp))
        Set rang3 = Range("M5", ActiveSheet.Range("M65536").End(xlUp))
        Set rang4 = Range("N5", ActiveSheet.Range("R65536").End(xlUp))
        Set rang5 = Range("AE5", ActiveSheet.Range("AG65536").End(xlUp))
        Set rang6 = Range("AJ5", ActiveSheet.Range("AJ65536").End(xlUp))
        Set rang7 = Range("AQ5", ActiveSheet.Range("AU65536").End(xlUp))
    
        Set MyRange = Union(rang1, rang2, rang3, rang4, rang5, rang6, rang7)
        MyRange.Copy
    
        Workbooks.Add
    
        Range("B1").PasteSpecial Paste:=xlPasteValues
    Et forcement ça bloque a:

    Merci d'avance

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour a tous,
    Citation Envoyé par zoumzoum59 Voir le message
    Et forcement ça bloque a: MyRange.Copy
    Normal il te faut faire tes copies plage par plage

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    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
    Dim Lim As Long
    Lim = UsedRange.Rows.Count
     
    WSSource.Range("B5:AU" & Lim).Copy
    Workbooks.Add
    Range("B1").PasteSpecial Paste:=xlPasteValues
     
    Range("G1:G" & Lim).ClearContents
    Range("K1:L" & Lim).ClearContents
    Range("S1:AD" & Lim).ClearContents
    Range("AH1:AI" & Lim).ClearContents
    Range("AK1:AP" & Lim).ClearContents

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour

    teste cela comme tel (ca va planter) et teste ensuite en enlevant ",rang4" en gras dans le code dans la ligne set myrange=......
    tu comprendra tout seul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    
        Set rang1 = Range("H5", ActiveSheet.Range("F65536").End(xlUp))
        Set rang2 = Range("H5", ActiveSheet.Range("J65536").End(xlUp))
        Set rang3 = Range("M5", ActiveSheet.Range("M65536").End(xlUp))
        Set rang4 = Range("N5", ActiveSheet.Range("R65536").End(xlUp))
        'Set rang5 = Range("AE5", ActiveSheet.Range("AG65536").End(xlUp))
        'Set rang6 = Range("AJ5", ActiveSheet.Range("AJ65536").End(xlUp))
        'Set rang7 = Range("AQ5", ActiveSheet.Range("AU65536").End(xlUp))
        Set myrange = Union(rang1, rang2, rang3, rang4)   ', rang5, rang6, rang7)
        myrange.Copy
         Workbooks.Add
        Range("B1").PasteSpecial Paste:=xlPasteValues
    End Sub
    ensuite explique moi a quoi te sert ces deux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set rang3 = Range("M5", ActiveSheet.Range("M65536").End(xlUp))
        Set rang4 = Range("N5", ActiveSheet.Range("R65536").End(xlUp))
    pour quoi ne pas les englober en une puisque les colonnes sont contiguës
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 511
    Par défaut
    Bonjour Anasecu, Menhir et patricktoulon,

    Et merci pour votre aide.

    Patrick j'ai testé avec et sans , rang4 et même sans , rang4 ça plante, pour moi je n'ai pas de différence entre les deux codes.
    Quand aux colonnes M et N, c'est exacte je l'ai fait en plusieurs étape et du coup je ne me suis pas aperçu quelles étaient contiguës, erreur de ma part.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    oui en effet il est fort possible que ton contexte soit diffèrent et impossible pour toi de comprendre pour rang4

    alors pour te montrer ou sa cloche dans ton code

    analyse bien celui la ,; et peut être comprendra tu

    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
    Sub test()
        With ActiveSheet
            Set dercell = .Range(Split(.UsedRange.Address, ":")(1))
            Set rang1 = .Range("B5", .Range("F" & dercell.Row))
            Set rang2 = .Range("H5", .Range("J" & dercell.Row))
            Set rang3 = .Range("M5", .Range("R" & dercell.Row))
            Set rang4 = .Range("AE5", .Range("AG" & dercell.Row))
            Set rang5 = .Range("AJ5", .Range("AJ" & dercell.Row))
            Set rang6 = .Range("AQ5", .Range("AU" & dercell.Row))
        End With
        Set myrange = Union(rang1, rang2, rang3, rang4, rang5, rang6)
        myrange.Copy
        Workbooks.Add
        ActiveSheet.range("B1").PasteSpecial Paste:=xlPasteValues
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par zoumzoum59 Voir le message
    Je bloque sur un problème de copier coller sur une sélection multiple et je n'arrive pas a trouver de solution
    Est-ce que tu veux que dans le fichier destination tes données restent dans les mêmes colonnes ou qu'elles soient regroupées dans des colonnes contigües ?

Discussions similaires

  1. copier/coller selection multiple
    Par marcoole dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/01/2011, 18h58
  2. [AC-2003] "copier coller" multiple
    Par sabredebois dans le forum Access
    Réponses: 5
    Dernier message: 05/11/2010, 18h54
  3. copier/coller de formules sur colonnes multiples
    Par Frayer dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2009, 11h45
  4. Copier / Coller multiples champs input
    Par Black_Angel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2009, 10h00
  5. [XL-2007] macro pour copier coller des selections multiples
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2009, 12h31

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