Copie de cellule dont le contenu est "multi format"

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fredou6475

XLDnaute Nouveau
Bonjour

J'ai besoin de copier des lignes entières d'une feuille 1 à une feuille 2.
La copie s'effectue mais pas exactement comme je le souhaiterais je m'explique:

Parmi les cellules que j'ai à copier certaines contiennent du texte mais ce texte il y en a une partie qui peut être d'une couleur une autre partie d'une autre couleur et en gras ou en italique. Bref ce que je pourrais appeler du "multi-mise en forme" au sein d'une cellule unique. La copie a l'air de s'effectuer en prenant comme référence le premier caractère de la cellule. S'il est en italique toute la copie de toute la cellule sera en italique s'il est en gras tout sera en gras.... etc...

Bref ma question est de savoir si je peux copier les mise en forme multiple au sein d'une même cellule?

Voici un bout de mon code qui fait quelques tests pour savoir s'il doit copier ou non. Ensuite j'utilise PasteSpecial pour faire mon "collage".

D'ailleurs est-il possible avec cette méthode de TOUT copier excepté les formules, car dans les arguments il n'y a que:
xlPasteAll
xlPasteAllExceptBorders
xlPasteColumnWidths
xlPasteComments
xlPasteFormats
xlPasteFormulas
xlPasteFormulasAndNumberFormats
xlPasteValidation
xlPasteValues
xlPasteValuesAndNumberFormats
et ils ne répondent pas à ma problématique... sauf si je pouvais les combiner du genre xlPasteAll - xlPasteFormulas Est-ce possible


Code:
With Sheets(1)
 
        For LigneFeuil1 = 1 To 792
              
            If ((.Cells(LigneFeuil1, 9).Value = "*") Or (.Cells(LigneFeuil1, 7).Interior.ColorIndex = 34) Or ((.Cells(LigneFeuil1, 5) > 0 And .Cells(LigneFeuil1, 7) > 0))) Then
                Cells(LigneFeuil1, 1).EntireRow.Copy
                LigneFeuil2 = LigneFeuil2 + 1
                Sheets(NombreDeFeuille + 1).Cells(LigneFeuil2, 1).Insert shift:=xlDown
                Sheets(NombreDeFeuille + 1).Cells(LigneFeuil2, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            End If
        Next
    End With

Par avance merci
 
Re : Copie de cellule dont le contenu est "multi format"

Bonjour fredou,

N'hésites pas à enregistrer tes manipulations dans une macro, il ne te restera plus qu'à décortiquer les lignes et à supprimer celles inutiles.

De plus, celà te fera gagner du temps et te permettra de progresser rapidement.

Sans malice aucune !

Cordialement.
 
Re : Copie de cellule dont le contenu est "multi format"

j'ai un message d'erreur d'execution 1004
la methode copy de la classe range a échoué... à la première ligne de code

Sheets("Feuil1").Range("A1😀" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Copy Destination:=Sheets("Feuil2").Range("A1")

j'ai un peu de mal à comprendre ce genre d'instructions (compliqué pour le débutant que je suis)
 
Re : Copie de cellule dont le contenu est "multi format"

j'ai un message d'erreur d'execution 1004 sur la première ligne de code la methode copy de l'objet range a échoué.

Code:
Sheets("Feuil1").Range("A1:D" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Copy Destination:=Sheets("Feuil2").Range("A1")

et ensuite excel plante tout est bloqué je suis obligé de le fermer avec gestionnaire de taches

j'ai d'ailleurs un peu de mal à comprendre ce genre d'instruction (je débute)
 
Re : Copie de cellule dont le contenu est "multi format"

Re

A moins que tu n'aies une version exotique d'Excel ,cela devrait fonctionner
Voici une version ou le code est un peu plus détaillé et commenté
Teste et dis-nous
 

Pièces jointes

Re : Copie de cellule dont le contenu est "multi format"

j'ai la version 2002 rien d'exotique
ce coup ci j'ai erreur d'execution '-2147417848 (80010108)'
erreur automation
l'objet invoqué s'est déconnecté de ses clients

et au débogage ça se place sur

Sheets("Feuil1").Range("A1😀" & derlinA).Copy Destination:=Sheets("Feuil2").Range("A1")

comprends pas

en tout cas merci pour le détail du code je vais essayer de bidouiller....
 
Re : Copie de cellule dont le contenu est "multi format"

j'ai la version 2002 rien d'exotique
ce coup ci j'ai erreur d'execution '-2147417848 (80010108)'
erreur automation
l'objet invoqué s'est déconnecté de ses clients

et au débogage ça se place sur

Sheets("Feuil1").Range("A1😀" & derlinA).Copy Destination:=Sheets("Feuil2").Range("A1")


c'est normal qu'il n'y ai pas de chiffre derrière de D de range("A1😀 & ?

comprends pas

en tout cas merci pour le détail du code je vais essayer de bidouiller....
 
Re : Copie de cellule dont le contenu est "multi format"

Re

un essai sans DerlinA (pour voir)

Code:
Sub test()

    Sheets("Feuil2").Select
    
    Application.ScreenUpdating = False
    
        With Selection
            Range("Feuil1!A1:E19").Copy Destination:=Range("A1")
            Range("E1:E19").Copy
            Range("E1:E19").PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
            Columns("A:A").EntireColumn.AutoFit
        End With
        
    Application.ScreenUpdating = True
    
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
436
Retour