Microsoft 365 Cellule d'1 page = cellule d'1 autre page est-il possible d'avoir le format du texte

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,
Je vous souhaite une belle journée :)

Je reviens vous solliciter pour une question particulière (comme toutes mes questions LOL)

J'ai en feuille Texte_saisie cellule D2 un texte formaté.
en feuille Résultat avec = cellule H4, j'ai mis la formule : =Texte_saisie!D2

Est-il possible que la cellule H4 de la feuille Résultat avec = affiche le texte de la feuille Texte_saisie avec son format (dans l'exemple, les couleurs et tailles des caractères) ?
Je ne pense pas que ce soit possible mais avec nos ténors quasiment rien n'est impossible et ça m'arrangerait bien que ce soit possible :)
Peut-être en VBA ?
Auriez-vous la solution ?
En cas, je joins un petit fichier test.
Avec mes remerciements,
Amicalement,
lionel :)
 

Pièces jointes

  • format_test.xlsm
    12 KB · Affichages: 16
Dernière édition:
Solution
Bonjour Usine à gaz,

En passant par VBA
VB:
Sub test()
Dim rgn As Range
    Set rgn = Worksheets("Texte_Saisie").Range("D2")
' Copie
    rgn.Copy Destination:=Worksheets("Résultat avec =").Range("H4")
    Range("h4").EntireColumn.ColumnWidth = rgn.EntireColumn.ColumnWidth
    Range("h4").EntireRow.RowHeight = rgn.EntireRow.RowHeight
End Sub

laurent950

XLDnaute Barbatruc
Bonjour Usine à gaz,

En passant par VBA
VB:
Sub test()
Dim rgn As Range
    Set rgn = Worksheets("Texte_Saisie").Range("D2")
' Copie
    rgn.Copy Destination:=Worksheets("Résultat avec =").Range("H4")
    Range("h4").EntireColumn.ColumnWidth = rgn.EntireColumn.ColumnWidth
    Range("h4").EntireRow.RowHeight = rgn.EntireRow.RowHeight
End Sub
 

Phil69970

XLDnaute Barbatruc
Re

Edit : Bonjour Laurent je n'avais pas vu ta réponse....

Autrement en VBA

VB:
Worksheets("Texte_Saisie").Range("D2").Copy Destination:=Worksheets("Résultat avec =").Range("H4")

*As tu regardé dans le lien que je t'ai donné dans le gestionnaire de nom
1622201506474.png

@Phil69970
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re-Bonjour :)
le code de laurent950 fonctionne parfaitement mais j'ai oublié que dans mon fichier de travail, la cellule réceptrice est fusionnée et ça "coince" :
1622209165719.png

Il y aurait une solution ?
Encore un grand merci :)
lionel,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re :
J'ai résolu en défusionnant et refusionnant :
VB:
Sub format_texte()
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:=""
Range("E2:E39").Select
    With Selection
        .MergeCells = False
    End With
Dim rgn As Range
    Set rgn = Worksheets("Argumentation").Range("f2")
' Copie
    rgn.Copy Destination:=Worksheets("Argu_Objections").Range("e2")
    Range("e2").EntireColumn.ColumnWidth = rgn.EntireColumn.ColumnWidth
    Range("e2").EntireRow.RowHeight = rgn.EntireRow.RowHeight
Range("E2:E39").Select
    With Selection
        .MergeCells = True
    End With
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Mais peut-être est-ce faisable autrement ?
lionel :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Usine à gaz 🙂, @laurent950 🙂, @Phil69970🙂 ,

Un essai :
VB:
Sub test()
Dim xrg, i&
   Set xrg = Sheets("Texte_saisie").Range("d2").MergeArea
   With Sheets("Résultat avec =")
      .Range("h4").UnMerge
      xrg.Copy .Range("h4")
      xrg.Copy: .Range("h4").PasteSpecial xlPasteColumnWidths
      For i = 0 To xrg.Rows.Count - 1: .Rows(4).Offset(i).RowHeight = xrg.Rows(i + 1).RowHeight: Next i
   End With
End Sub
 

Pièces jointes

  • Usine à gaz- format_test- v1.xlsm
    20.5 KB · Affichages: 5
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 776
Messages
2 112 846
Membres
111 677
dernier inscrit
Toreddu