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-E]Archiver une mise en forme pour la reproduire plus tard


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
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Par défaut [VBA-E]Archiver une mise en forme pour la reproduire plus tard
    Bonjour

    Je voudrais archiver des mise en forme que j'ai faite sur des tableaux dans une base de donnée afin de reproduire plus tard la mise en forme sur des tableaux
    j'ai enregistré une macro utilisant l'outil de reprpduction de mise en forme qui fait exactement ce que je veux mais qui oblige a voir le tableau a coté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub ReproduireMiseEnForme()
    'selection du 1er tableau 
       Range("A1:I14").Select
    'copie du tableau dans la selection
        Selection.Copy
    'selectionne le 2eme tableau
        Range("A20:G29").Select
     'fait la copy spécial
       Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
    End Sub
    Comment pourrais je archiver la mise en forme d'un tableau ou archiver la selection dans une base de donnée?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu pourrais mémoriser les paramètres de mise en forme mais je pense que ton idée n'est pas mauvaise et est surtout plus simple : Copier ta plage formatée, placer ta copie là où elle ne gène pas et la nouvelle plage pour recopier le format quand tu en as besoin.
    On pourrait déjà simplifier ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub ReproduireMiseEnForme()
    'selection du 1er tableau 
       Range("A1:I14").Copy
    'selectionne le 2eme tableau
        Range("A20:G29").PasteSpecial Paste:=xlPasteFormats
    End Sub
    Tu dis si tu souhaites procéder autrement
    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Par défaut
    Le probleme d'archiver le tableau pour la mise en forme et que c limitant car en fait

    je travaille a partir une instance word d'un modele word dans lequel j'insere des objet excel
    Dans ces objets excel j'utilise des macros importants des données et délivrant un tableau dynamique croisé sur lequel je voudrais appliquer des mises en formes personnalisés.

    il faudra au préalable enregistré ces mises en forme et c la mon soucis alors soit j'archive les toutes les propriétés de Selection qui est un objet range je crois dans une base de donnée qui est deja utiliser pour chercher des données ( a voir si cela est faisable) soit je trouve une astuce pour faire enregsitrer cette mise en forme a excel
    je suis preneur de toute suggestion

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Le seul problème est "as-tu un modèle fixe et reproductible pour ton TCD ?"
    Bref, aura-t-il toujours le même nombre de lignes et de colonnes ?
    Si oui, la copie du format me semble la solution la plus facile.
    Tu dis
    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Par défaut
    Non le nombre de ligne de colonne est variable
    Disons que l'utilisation se fera souvent sur des tableaux qui auront le même nombre de colonne mais c pas sur d'ou la difficulté

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde CurrentRegion, dans l'aide. Te fournit l'adresse de la plage de cellules renseignées
    Avec un TCD, il n'y a pas de "trou" dans la plage, et donc, tu pourrais définir un style pour une plage que tu pourrais appliquer à CurrentRegion.
    Si tu penses que ça pourrait suffire...
    A+

Discussions similaires

  1. Enregistrer une liste de commande pour les reexecute plus tard
    Par rosty38 dans le forum Général Python
    Réponses: 9
    Dernier message: 28/10/2010, 16h57
  2. Copier/coller une mise en forme d'une ligne compléte en vba
    Par ptitrault dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2009, 15h38
  3. Modifier un script dans pour une mise en forme
    Par Baldric de Dol dans le forum Langage
    Réponses: 0
    Dernier message: 12/04/2008, 14h26
  4. [VBA EXCEL]: Savoir si une mise en forme conditionnelle est active
    Par ADONET dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2007, 14h59

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