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 :

PasteSpecial avec le même largeur et hauteur des colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Invité
    Invité(e)
    Par défaut PasteSpecial avec le même largeur et hauteur des colonnes
    Bonjour,

    J'ai essayé ce macro pour copier les trois premières lignes, mais je n'arrive pas à conserver la même largeur et hauteur de quelques colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Sheets("Feuil1").Rows("1:3").PasteSpecial Paste:=x1Pasteall, Operation:=xlNone, _ skipBlanks:=False, Transpose:=False Application.CutCopyMode = False
    La même chose avec x1Pasteformats, x1ColumnWidths (à ma connaissance ça fonctionne sur une seule colonne)

    Merci

  2. #2
    Membre confirmé Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    Je peux te proposer cela:

    Donne un nom à ce que tu veux copier coller ici on utilisera "maplage"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Set shSource = ThisWorkbook.Sheets("TA FEUILLE")
    Set shCible = ThisWorkbook.Sheets("Ton autre feuille")
     
    shSource.Range("maplage").Copy
    shCible.Range("A" & shCible.Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial
    Cdt,

    Au temps pour moi j'ai mal lu ta requête:

    Il y avait une solution que "fring" avait posté une fois qui est:

    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
    Private Sub CommandButton1_Click()
     
    Dim SHsource As Worksheet, SHcible As Worksheet, x As Integer
    Dim PlageSource As Range, CelluleCible As Range, i As Integer
     
    Set SHsource = ThisWorkbook.Sheets("Feuil1") '<-- classeur source
    Set SHcible = Workbooks("Classeur1").Sheets("Feuil2") '<-- classeur cible
    Set PlageSource = SHsource.Range("test") '<-- plage de cellules à copier
    Set CelluleCible = SHcible.Range("A1") '<-- destination (à partir de F11)
     
    PlageSource.Copy CelluleCible '<-- copie de la plage
     
    'adaptation hauteur des lignes
    x = 0
    For i = CelluleCible.Row To CelluleCible.Row + PlageSource.Rows.Count
        x = x + 1
        SHcible.Cells(i, 1).RowHeight = PlageSource.Rows(x).RowHeight
    Next
     
    'adaptation largeur des colonnes
    x = 0
    For i = CelluleCible.Column To CelluleCible.Column + PlageSource.Columns.Count
        x = x + 1
        SHcible.Cells(1, i).ColumnWidth = PlageSource.Columns(x).ColumnWidth
    Next
     
     
     
     
    End Sub
    Je viens de le tester sa fonctionne, je te laisse maintenant l'adapter à tes besoins.

    Cdt,

  3. #3
    Invité
    Invité(e)
    Par défaut
    Il n'y a pas une autre méthode en utilisant les options de specialpaste ?

    Je trouve ça très lourd à exécuter

  4. #4
    Membre confirmé Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Points : 481
    Points
    481
    Par défaut
    Oui le code est lourd mais le SpecialPaste n'est pas fait pour garder la mise en forme. Il est donc il me semble impossible de le faire avec.

    Cdt,

  5. #5
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Ca ne marche pas en faisant ça (par exemple pour copier les 3 premières lignes de la feuille 1 vers la feuille 2) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Feuil1").Rows("1:3").Copy
    Sheets("Feuil2").Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ZebreLoup Voir le message
    Ca ne marche pas en faisant ça (par exemple pour copier les 3 premières lignes de la feuille 1 vers la feuille 2) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Feuil1").Rows("1:3").Copy
    Sheets("Feuil2").Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
    Merci,
    ça marche

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

Discussions similaires

  1. [XL-2007] Copier vers une autre feuille avec la même largeur de colonne
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/11/2011, 21h35
  2. Layout pour afficher X composants de tailles différentes avec la même largeur
    Par azerty25 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/09/2011, 10h00
  3. Réponses: 2
    Dernier message: 21/09/2009, 14h20
  4. Réponses: 3
    Dernier message: 01/11/2007, 08h38
  5. Copier les lignes avec la même largeur des colonnes
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/04/2007, 10h42

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