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 :

VBA format de mis en en forme [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut VBA format de mis en en forme
    Bonjour à tous, J'ai un problème des fichiers de mise en forme.

    J'ai un fichier d'excel avec un onglet: "donnee", je voudrais copier le format(mise en forme) de cet onglet pour les autres fichiers (100 fichiers) "feuil1", pour qu'ils soient en même formats. j'ai testé pour un fichier, mais il ne fonctionne pas, quelqu'un peut m'aider? merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub format()
    table1 = ActiveWorkbook.Name
    Workbooks(table1 ).Sheets("DONNEES").Select
    Selection.Copy
    table2 = ActiveWorkbook.Name
    Workbooks(table2).Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End Sub

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ton code copie la feuille et non le format

    Essais comme cela (code non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub format()
    table1 = ActiveWorkbook.Name
    Workbooks(table1 ).Sheets("DONNEES").Cells.Select
    Selection.Copy
    table2 = ActiveWorkbook.Name
    Workbooks(table2).Sheets("Feuil1").Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut
    Merci pour la réponse rapide, mais le format reste toujour le même, est ce que c'est le Pb d'ici?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ci dessous le code généré par l'enregistreur de macro pour la copie d'un format sur un autre classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Cells.Select
    Selection.Copy
    Windows("Classeur5").Activate
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
         SkipBlanks:=False, Transpose:=False

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    L'erreur est là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    table2 = ActiveWorkbook.Name ' En écrivant cela, table2 sera égal à table1
    Workbooks(table2).Sheets("Feuil1").Select
    Il est indispensable d'apprendre à ne jamais utiliser les Select, Selection et autres ActiveCell ou ActiveWorkbook.

    En début de code, déclare des objets Workbook (wbkSource, wbkDest) pour tes différents classeurs et utilise ces objets dans la suite du code.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [VBA EXCEL] password mis dans la macro
    Par ecirb dans le forum VBA Word
    Réponses: 10
    Dernier message: 28/02/2007, 18h32
  2. [VBA-E]Archiver une mise en forme pour la reproduire plus tard
    Par tazamorte dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/01/2007, 11h12
  3. [Vba-E] Message d'erreur "Microsoft Forms"?
    Par gootsu dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 27/07/2006, 08h22
  4. [VBA-E]cellule et mise en forme
    Par lolo_bob2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2006, 10h51
  5. Formater une durée sous la forme Heure:Minute:Seconde
    Par marsupile dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/01/2004, 23h29

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