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 un format de cellule sans son contenu


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut Copier un format de cellule sans son contenu
    Bonjour,

    Je souhaite faire une macro qui recupere le format d'une cellule et QUI le copie sur un autre range

    En fait l'utilisateur peut modifier la celulle , son format , son positionnement , couleur etc et quand il lance la macro sa copie le formatage

    Alors deux choses, j'ai un probleme vu que j'utilise un select issu de l'enregistreur de macro, donc c'est pas tres stable comme methode , et je sais pas trop comment le modifier, (si on se positionne sur la bonne feuille effectivement ca marche bien et ca fait bien ce que je veux )
    Donc mon probleme c'est remplacer le select pour utiliser cette methode. Sinon si quelqu'un a une autre methode pour recuperer tout le formatage je suis preneur.
    explication:

    Ma fonction prend en parametre un range qu'il va parcourir
    Mon dictionnaire DicoPerimetres(Key).Format me donne un chifre une sorte de reference et DicoFormat(cettereference) me donne le range dont je veux copier le format.
    Tout ca ca marche donc pas de probleme . je preferais quand meme expliquer un peut pour etre au claire.

    Merci d'avance au champions qui vont m'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        'applique un format
    Sub Formatage(ByRef AllRange As Range)
        Dim MyRange As Range
        For Each MyRange In AllRange
                'ByVal NumRef As Byte, ByRef MyRange As Range
            Dico_Format((Dico_Perimetres(MyRange.Value).Format)).Copy
            MyRange.Select
            Selection.PasteSpecial Paste:=xlPasteFormats
        Next MyRange
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    je ne comprend pas l'intérêt d'un dictionnaire


    un .Copy suivi d'un PasteSpecial suffit amplement ?

  3. #3
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Dsl je ne peux pas presenter mon projet en entier mais c'est quelque chose de parametrable au max pour des gens qui ne savent pas forcement coder , donc l'utilite des dictionnaires est réélle.

    Par contre ma question est vraiment sur la possibilite de recuperer le format et uniquement le format, car je veux que l'utilisateur puisse modifier un petit range de 5 case et puisse modifier le code couleur d'un tableau de données financieres qui sera envoyé par outlook, donc la presentation est vraiment importante .

    En fait mon code marche mais le select me plais pas trop et je voudrais eviter de devoire faire un activate (que j'ai pas mis) puis un select , je me demande si ya une autre methode que ca

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    tu veux simplement virer le .Select et le Selection ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyRange.PasteSpecial Paste:=xlPasteFormats
    il serait temps de rationaliser tes écritures et de développer tes acquis, avant de monter des "applications complexes"

  5. #5
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut ...
    Je suis en stage! je suis la pour apprendre...

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Disons que nous avons déjà eu une discussion à ce sujet, et que tu semblais y indiquer avoir compris comment les éviter :

    http://www.developpez.net/forums/d15...er-l-utiliser/


    et preuve qu'on est tous là pour apprendre, voir les deux derniers messages de la discussion entre bbil et moi
    (personne n'est parfait et personne n'a la connaissance ultime)


    la critique était constructive, te lancer à corps perdu dans des fonctionnalités complexes ... pour bloquer sur des virgules de premier niveau, c'est frustrant (je le sais pour avoir commencé comme ça avec VBA, avant de changer mon fusil d'épaule)

    prendre le temps de régler ces petites choses, ça t'en fera gagner énormément pour la suite
    c'est de l'investissement où le retour est toujours payant

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

Discussions similaires

  1. [XL-2010] Copier cellule selon son contenu
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/05/2013, 14h05
  2. centré un cadre sans son contenu
    Par samantha93 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/03/2012, 10h13
  3. [PHP Excel Reader] Lecture de la valeur d'une cellule SANS son formattage
    Par Tombzh56 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 07/01/2011, 10h49
  4. Réponses: 1
    Dernier message: 08/09/2008, 14h25

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