VBA - Reproduire le même format...

Fermé
Ptiteflavia Messages postés 3 Date d'inscription vendredi 2 septembre 2011 Statut Membre Dernière intervention 2 septembre 2011 - 2 sept. 2011 à 10:20
Ptiteflavia Messages postés 3 Date d'inscription vendredi 2 septembre 2011 Statut Membre Dernière intervention 2 septembre 2011 - 2 sept. 2011 à 12:17
Bonjour,

J'ai débuté sur VBA il n'y a pas longtemps, et j'aimerai s'il est possible de reproduire le même fonctionnement que "Format Painter" sur VBA.
En fait j'aimerai sélectionner toute la feuille 1 et coller le même format (couleur, police) sur une feuille 2 mais en gardant la même longuer de colonne et largeur de ligne, ainsi que garder des colonnes et lignes cachées si possible.



Merci d'avance si vous avez une réponse.



A voir également:

2 réponses

mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 353
Modifié par mic13710 le 2/09/2011 à 11:41
Pourquoi passer par du vba ?
Il suffit de cliquer dans la cellule en haut à gauche au dessus des numéros de lignes et à gauche des lettres des colonnes, de copier puis de sélectionner la cellule A1 sur une nouvelle feuille et de coller. La feuille 1 est reproduite à l'identique. Vous pouvez ensuite sélectionner la nouvelle feuille comme précédemment, et presser sur "supprimer" pour effacer les données et les formules si vous ne voulez que les formats.

Michel
0
Ptiteflavia Messages postés 3 Date d'inscription vendredi 2 septembre 2011 Statut Membre Dernière intervention 2 septembre 2011
2 sept. 2011 à 11:59
Merci pour ta réponse.

Je veux passer par VBA car je réalisais une macro et je voulais insérer la procédure au milieu pour éviter d'arrêter la macro. Et reprendre. Auriez-vous une idée ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
2 sept. 2011 à 12:04
Auriez-vous une idée ?
Ben ouais, que tu lises ma proposition du post 2...
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié par eriiic le 2/09/2011 à 19:38
Bonjour,

ou bien clic-droit sur le nom d'onglet (Feuil1 en bas par exemple), choisir 'déplacer ou copier...', cocher 'créer une copie' et valider.

Ce qui donne en vba :
Sheets("Feuil1").Copy After:=Sheets(Sheets.Count)

eric

edit : j'étais parti sur l'idée que tu avais une feuille modèle que tu voulais dupliquer.
Ce n'est peut-être pas le cas, tu as peut-être des feuilles avec données à mettre en forme.
0
Ptiteflavia Messages postés 3 Date d'inscription vendredi 2 septembre 2011 Statut Membre Dernière intervention 2 septembre 2011
2 sept. 2011 à 12:17
Merci Eric,

Malheureusement je ne vais pas pouvoir utiliser cette procédure car j'ai des valeurs dans ma feuille 2 et je voulais récupérer seulement le format de la feuille 1 (et pas les valeurs).
J'ai essayé sur VBA de faire un copier spécial de la feuille 1 à la feuille 2 mais je n'obtiens pas la même présentation : la longueur des colonnes n'est pas la même, de même pour la largeur des lignes. Et les colonnes cachées dans la feuille 1 ne le sont pas dans la feuille 2.

Je n'arrive pas à trouver la formule pour VBA. Merci de votre aide en tout cas.
0