Copie de cellule dont le contenu est "multi format"

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
 

Papou-net

XLDnaute Barbatruc
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.
 

fredou6475

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

je souhaite que les formules de la colonne E ne soit pas copiées mais que soient simplement copiées les valeurs lors de la copie de la ligne entière...
 

Pièces jointes

  • exemple2.xls
    22 KB · Affichages: 124
  • exemple2.xls
    22 KB · Affichages: 125
  • exemple2.xls
    22 KB · Affichages: 123

fredou6475

XLDnaute Nouveau
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:D" & 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)
 

fredou6475

XLDnaute Nouveau
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)
 

pierrejean

XLDnaute Barbatruc
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

  • fredou_exemple2.zip
    13.2 KB · Affichages: 23
  • fredou_exemple2.zip
    13.2 KB · Affichages: 26
  • fredou_exemple2.zip
    13.2 KB · Affichages: 25

fredou6475

XLDnaute Nouveau
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:D" & derlinA).Copy Destination:=Sheets("Feuil2").Range("A1")

comprends pas

en tout cas merci pour le détail du code je vais essayer de bidouiller....
 

fredou6475

XLDnaute Nouveau
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:D" & 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:D & ?

comprends pas

en tout cas merci pour le détail du code je vais essayer de bidouiller....
 

soenda

XLDnaute Accro
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
 

Discussions similaires

Réponses
5
Affichages
131

Statistiques des forums

Discussions
312 236
Messages
2 086 477
Membres
103 232
dernier inscrit
logan035