EXCEL: Copier la mise en forme
Fermé
zeuslp
-
7 juil. 2011 à 11:44
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 8 juil. 2011 à 17:50
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 8 juil. 2011 à 17:50
A voir également:
- EXCEL: Copier la mise en forme
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
2 réponses
piopicolo
Messages postés
1395
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2023
193
7 juil. 2011 à 12:21
7 juil. 2011 à 12:21
utilisez la fonction fx CELLULE("contenu", A1) : voir aide associée.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
7 juil. 2011 à 16:49
7 juil. 2011 à 16:49
Seule une macro permet de faire cela.
A copier dans le code de la feuille (clic droit sur l'onglet / visualiser le code) :
A copier dans le code de la feuille (clic droit sur l'onglet / visualiser le code) :
Option Explicit Private Sub Worksheet_Activate() Call CopierFormats End Sub Private Sub Worksheet_Change(ByVal Target As Range) Call CopierFormats End Sub Private Sub CopierFormats() Dim wsh_act As Worksheet Dim sel_act As Range Dim cel_act As Range Dim wsh_dst As Worksheet Dim sel_dst As Range Dim cel_dst As Range Dim cel As Range Dim dst As Range Dim adr As String Dim frm As String Dim fx As String Dim ptr As Integer 'mémorisation du contexte Set wsh_act = ActiveSheet 'feuille active 'Set sel_act = Selection 'sélection (sur la feuille active) 'Set cel_act = ActiveCell 'cellule active (sur la feuille active) Set wsh_dst = Worksheets(1) 'feuille destination wsh_dst.Activate Set sel_dst = Selection 'sélection (sur la feuille destination) Set cel_dst = ActiveCell 'cellule active (sur la feuille destination) 'Arrêt : mise à jour écran, calculs, évènements Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False 'copie des formats For Each cel In wsh_dst.UsedRange.Cells If cel.HasFormula Then frm = Mid(cel.Formula, 2) ptr = InStr(1, frm, "!") If ptr > 0 Then fx = Replace(Mid(frm, 1, ptr - 1), "'", "") Else fx = wsh_dst.Name adr = Mid(frm, ptr + 1) Set dst = Nothing On Error Resume Next Set dst = Worksheets(fx).Range(adr) On Error GoTo 0 If Not dst Is Nothing Then dst.Copy cel.PasteSpecial (xlPasteFormats) End If End If Next Application.CutCopyMode = False 'restitution du contexte sel_dst.Select cel_dst.Activate wsh_act.Activate 'réactiver : mise à jour écran, calculs, évènements Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub
8 juil. 2011 à 17:02
Modifié par Patrice33740 le 8/07/2011 à 17:50
Renvoie des informations sur la mise en forme, la position ou le contenu de la cellule supérieure gauche d'une référence
= Cellule("format", A1)
Renvoie la valeur de texte correspondant au format de nombre défini pour la cellule. Les valeurs de texte des différents formats sont répertoriés dans le tableau ci-dessous. Renvoie "-" à la fin de la valeur de texte si la cellule est formatée en couleur pour les valeurs négatives. Renvoie "()" à la fin de la valeur de texte si la cellule est formatée avec des parenthèses pour les valeurs positives ou pour toutes les valeurs.
dixit Microsoft
Cela ne permet pas de copie la mise en forme !!!