Affectation de variable/Macro copier coller Excel [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 24-06-2011 à 11:20:14
Non, tu as a peu pres bien compris. Le seul probleme est que ta variable designe un objet (le range) et que quand tu fais un 'set', tu fais pointer une autre variable sur le meme objet. Rien d'etonnant alors a ce que la modification de l'une (d'un des objets) affecte egalement l'autre.
Une solution simple serait de faire ta copie avant et de pointer sur le resultat pour faire tes modifs.
Marsh Posté le 24-06-2011 à 11:32:57
Merci de ta réponse
Dans ce cas là, comment faire justement pour "pointer" vers ce que je copie?
Copier, puis faire une sélection de la dernière ligne occupée et la modifier?
Je dois avouer que là je ne vois pas trop comment m'y prendre
Marsh Posté le 24-06-2011 à 15:08:52
Tu as bien la bonne reponse, tu selectionne, tu copie et tu reselectionne ce que tu as copie pour faire la mise en forme
Marsh Posté le 24-06-2011 à 16:12:49
Solution trouvée, merci beaucoup pour ton aide précieuse
S'il y a des débutants comme moi qui d'aventure parcourent un jour ce topic, je peux poster le code s'ils le demandent
Marsh Posté le 24-06-2011 à 16:13:39
ReplyMarsh Posté le 24-06-2011 à 16:28:51
Ok, voici:
Macro Excel pour copier coller en changeant la mise en forme
Code :
|
Je pense qu'il y a largement moyen de l'améliorer, mais au moins c'est fonctionnel
Edit: Rajout d'un titre et d'explications au sein du code pour les curieux/débutants
Marsh Posté le 24-06-2011 à 09:55:08
Bonjour à tous
En préambule, je dois dire que je n'ai quasiment jamais fait de programmation auparavant, excepté quelques bribes en prépa, et que je dois m'y mettre suite aux aléas d'un stage. Je vous prie donc de m'excuser pour la très haute teneur noobesque de ce post .
Voici ma problématique : je dispose de tableaux croisés dynamiques issus d'une base de données msie à jour fréquemment, et je désire copier certaines données dans une autre feuille qui servirait d'historique, à la suite des données précédentes, en y mettant la date et en modifiant la mise en forme (suppression de l'italique par exemple).
J'en suis arrivé après maintes recherches à écrire le code suivant
Le soucis, c'est que je ne connais pas la syntaxe pour modifier la mise en forme dans la ligne 2, et que je n'arrive pas à trouver une solution simple et élégante.
C'est pourquoi j'avais pensé (attention le freestyle commence ) à créer 2 variables de type Range, à affecter dans l'une ce que je désire copier dans l'historique, puis à affecter cette variable dans une autre, à faire les modifs sur cette variable (là je connais la syntaxe) et à la copier ensuite dans l'historique.
Cela me donnerait
Problème : si la mise en forme est bien modifiée, celle dans le tableau d'origine l'est aussi!
Cela signifie-t-il que j'ai lamentablement échoué à comprendre ce qu'était l'affectation d'une variable ?
Je pense qu'une solution bien plus simple existe, mais voilà, je pense avoir atteint mes (faibles) limites en programmation, quelqu'un aurait-il la bonté de m'aider ?
Merci d'avance
Message édité par Klivan le 24-06-2011 à 16:55:02
---------------
We are the knights who say : Ni! / 'Bye Julfisher, so long Shepard :(