reproduire une mise en forme

roum1

XLDnaute Junior
Bonjour à toutes et à tous,

Je fais une copie de cellule automatique toute simple (=A1) mais je voudrais en plus de copier le contenu de la cellule, copier le format de la cellule d'origine!

Merci d'avance.
 

meldja

XLDnaute Impliqué
Re : reproduire une mise en forme

Bonjour,
Tu fais un copier de la cellule A1 et puis un collage spécial (clique droit sur la cellule destination) et tu cliques sur coller avec liaison.
Normalement, tu as tout ; c'est à dire la valeur et le format
 

kjin

XLDnaute Barbatruc
Re : reproduire une mise en forme

bonjour roum1, le forum
Tu mélanges 2 choses : tu dis faire un copier(/coller), puis une formule (=A1)
"Copier/Collage Spécial/Tout" ("Tout" est activé par défaut), permet de coller également le format.
Si c'est une formule, il faut le faire en VBA ou MFC.
meldja, le collage avec liaison donne la valeur de la cellule de référence et donc l'équivalent de (=A1)
A+
kjin
 

roum1

XLDnaute Junior
Re : reproduire une mise en forme

Je me suis mal exprimé, je ne fait pas de copier/coller, j'ai juste ma formule =A1 et je voulais savoir comment reproduire en même temps le format. Donc apparemment il faut que je fasse ça sur VBA mais je ne sais pas très bien faire.. non en fait je sais pas du tout faire.. Tu pourrais m'aider?
 

kjin

XLDnaute Barbatruc
Re : reproduire une mise en forme

Re, bonjour astralon,
Si la cellule de destination est B1
Sub copie()
Range("A1").Copy
Range("B1").PasteSpecial xlPasteAll 'colle tout
Application.CutCopyMode = False 'désactive le mode copier/coller
Soit:
Sub copie()
Range("B1").Value = Range("A1").Value
Range("B1").Interior.ColorIndex = Range("A1").Interior.ColorIndex 'couleur du fond
Range("B1").Font.Color = Range("A1").Font.Color 'couleur de la police...
End Sub
A+
kjin
 

roum1

XLDnaute Junior
Re : reproduire une mise en forme

Re,
Finalement j'ai fait une macro avec l'outil d'enregistrement de macro et ça marche et j'ai copié le code pour l'executer à partir d'un bouton de commande mais là ça ne marche plus!!

Mon code :
Code:
Private Sub CommandButton2_Click()
    Sheets("suivi interne").Select
    ActiveWindow.SmallScroll Down:=-207
    Range("A3:A200").Select
    Selection.Copy
    Sheets("client").Select
    Range("A4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

Sur la ligne Range("A3:A200").Select, jai apparemment une "erreur d'execution '1004' : La méthode select de la classe range à échoué"!!

Mais pourquoi il ne veut pas me sélectionner ma plage de données???
 

kjin

XLDnaute Barbatruc
Re : reproduire une mise en forme

Re,
Si le bouton est sur la feuille ("suivi interne")
Private Sub CommandButton1_Click()
Range("A3:A200").Copy
Sheets("client").Range("A4").PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
A+
kjin
 

kjin

XLDnaute Barbatruc
Re : reproduire une mise en forme

Re,
Si le bouton est sur une autre feuille, il faut indiquer la feuille contenant la plage à copier, donc:
Private Sub CommandButton2_Click()
Sheets("suivi interne").Range("A3:A200").Copy
Sheets("client").Range("A4").PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
L'enregistreur de macro enregistre tout, donc y compris tout les déplacements et les sélections, inutiles dans ce cas.
A+
kjin
 

Excel_lent

XLDnaute Impliqué
Re : reproduire une mise en forme

Bonjour à tous et aux autres.

Le bouton étant sur la feuille "source", on peut aussi passer par :
Code:
Private Sub CommandButton1_Click()
    With Sheets("client")
        Range("A3:A200").Copy .Range("A4") 
        Application.CutCopyMode = False
    End With
End Sub
Remarque : on reste sur la feuille "source".
 

astralon

XLDnaute Occasionnel
Re : reproduire une mise en forme

Mon code :
Code:
Private Sub CommandButton2_Click()
    Sheets("suivi interne").[COLOR="red"]Select
    ActiveWindow.[/COLOR]SmallScroll Down:=-207
    Range("A3:A200").[COLOR="Red"]Select
    Selection.[/COLOR]Copy
    Sheets("client").Select
    Range("A4")[COLOR="Red"].Select
    Selection[/COLOR].PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

Roum1 : quand tu crées une macro, il y a pas mal de choses qui ne servent a rien et qui cause pas mal de problème en VBA => tu les enlèves et ca fonctionne très bien (ton VBA est plus léger et plus sur)

Bref, ce qui est en rouge peut être supprimer et tu fais suivre le texte
 

Batemoun

XLDnaute Nouveau
Re : reproduire une mise en forme

Bonjour à tous,
Je reviens sur ce fil.
J'ai compris tout ce qui se disait et cela fonctionne particulièrement bien.
J'ai cependant une exigence en plus...
Je voudrais coller uniquement la couleur du texte de la cellule (avec une sorte de xlPasteFont ou xlPasteColor...) mais je ne trouve pas le code exact...
Avez-vous une idée ?

Merci à vous
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94