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 :

Avec VBA, copier les formats et les valeurs d'une feuille vers une autre. [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut Avec VBA, copier les formats et les valeurs d'une feuille vers une autre.
    Bonjour,
    Je souhaite faire quelque chose de simple à priori et au vu de mes recherches le sujet semble être éculé; mais, ma syntaxe ne fonctionne pas.
    Alors, ne voulant pas mourir idiot, si quelqu'un pouvait me dire ce qui ne va pas?
    Dans un classeur Excel, j'ai une feuille "Toto" dans laquelle il y a un tableau avec une mise en page, les cellules n'étant pas déterminées.
    Je dois recopier ce tableau avec sa mise en page et ses valeurs dans une autre feuille "Tata".
    Ne sachant pas où se trouve le tableau dans le feuille, j'ai pensé utiliser la "cells.copy" ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                Sheets("Toto").Cells.Copy
                With Sheets("Tata")
                    .PasteSpecial Paste:=xlPasteFormats
                    .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                End With
    Merci de votre aide
    Michel

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Mormic, bonjour le forum,

    Tu n'as pas spécifié où coller, dans quelle cellule...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro1()
    Sheets("Toto").Cells.Copy
    With Sheets("Tata").Range("A1")
        .PasteSpecial Paste:=xlPasteFormats
        .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    End With
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut j'ai fait un oubli en recopiant ma syntaxe!
    C'est juste une erreur de recopie; ma syntaxe complète est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                Sheets("Toto").Cells.Copy
                With Sheets("Tata").cells
                    .PasteSpecial Paste:=xlPasteFormats
                    .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                End With
    Et avec cela j'ai l'erreur: "Incompatibilité de type"

    Michel

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Normic, bonjour le forum,

    Essaie la proposition que je t'ai faite. Je l'ai testée et ça marche...
    À plus,

    Thauthème

    Je suis Charlie

  5. #5
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut
    Bien sûr je l'avais essayé avant de répondre mais c'est le même résultat: "Incompatibilité de type"
    J'avoue ne pas être un cador en VBA, mais il y a des fois où ça énerve.
    Merci pour votre aide
    Michel

  6. #6
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Mormic, bonjour le forum,

    Peux-tu nous donner ton code complet et nous indiquer qu'elle est la ligne qui plante... (bonjour les modos !)
    À plus,

    Thauthème

    Je suis Charlie

  7. #7
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut
    Bonsoir Thautheme

    Merci pour ta patience.

    J'ai fait une petite maquette toute simple avec un code tout simple. Et comme tu me le disais cela fonctionne.
    Alors en regardant mon code exact:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                Sheets.Add After:=Sheets(Sheets.Count)
                Sheets(Sheets.Count).Name = SaisieNouveau.Nombox
                Sheets(NomPere).Cells.Copy
                With Sheets(SaisieNouveau.NomBox).Cells
                    .PasteSpecial Paste:=xlPasteFormats
                    .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                End With
    je me suis dit que peut-être il n'appréciait pas le "SaisieNouveau.Nombox" qui vient d'un textbox d'un userform.
    et là je viens de me rendre compte que j'ai tout simplement omis de mettre l'attribut ".Name" à SaisieNouveau.Nombox
    Tu avais donc raison de me demander mon code exact et cela me servira de leçon.

    Mon code qui va bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                Sheets.Add After:=Sheets(Sheets.Count)
                Sheets(Sheets.Count).Name = SaisieNouveau.Nombox.Name
                Sheets(NomPere).Cells.Copy
                With Sheets(SaisieNouveau.NomBox.Name).Cells
                    .PasteSpecial Paste:=xlPasteFormats
                    .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                End With
    Encore merci pour ton aide précieuse.
    Michel

  8. #8
    Membre habitué
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 293
    Points : 145
    Points
    145
    Par défaut
    C'est encore moi. En fait c'est ".value" que j'ai omis parce que je pensais que c'était la valeur par défaut! Bizarre!

    Cordialement
    Michel

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/01/2015, 22h17
  2. [XL-2007] copier une ligne d'une feuille vers une autre feuille
    Par scarfunk dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/05/2010, 22h18
  3. Réponses: 2
    Dernier message: 24/10/2009, 16h25
  4. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50
  5. Macro Copier données d'une feuille vers une feuille cible
    Par La Zélie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2008, 10h01

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