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
 

fredou6475

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

en fait ça me met le message d'erreur ensuite ça génère ça en feuil2
et ça reste bloqué

la copie a lieu mais avec un bug
 

Pièces jointes

  • ScreenShot001.jpg
    ScreenShot001.jpg
    47 KB · Affichages: 31
  • ScreenShot001.jpg
    ScreenShot001.jpg
    47 KB · Affichages: 36
  • ScreenShot001.jpg
    ScreenShot001.jpg
    47 KB · Affichages: 29

fredou6475

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

j'ai réussi à faire ce que je voulais en faisant deux boucles...

Code:
Sheets(NombreDeFeuille + 1).Activate
    LigneFeuil1 = 1
    LigneFeuil2 = 0
        
    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
                Sheets(NombreDeFeuille + 1).Cells(LigneFeuil2, 1).Copy
           End If
        Next
    
    LigneFeuil1 = 1
    LigneFeuil2 = 0
    
        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, 7).Copy
            LigneFeuil2 = LigneFeuil2 + 1
            Sheets(NombreDeFeuille + 1).Cells(LigneFeuil2, 7).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            End If
        Next
        
    End With
 

Discussions similaires

Réponses
5
Affichages
131

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035