Recopier une cellule et son format (surtout son format) dans une autre feuille

fabian123

XLDnaute Occasionnel
Bonjour à toutes et tous!

voilà mon souci:

j'ai donc une feuille 'Données' avec des infos mais pas forcément sur chaque ligne, il se peut qu'on "saute une ligne". chaque cellule est "bordurée"! (même les cellule vides)

Sur une autre feuille 'récap', je souhaite recopier ces infos, mais en ajoutant une petite difficulté...:D:rolleyes:
il faudrait que les cellules remplie de la feuille 'données' s'y recopie, mais également le format de la cellule (la bordure) et lorsque la cellule est restée vide dans la feuille données, elle se recopie vide et sans bordure dans la feuille 'récap'.

Y a pas de souci pour le "copié-collé" des données, par contre, pour le copié du format... je bloque!

Je vous joint un ch'tit fichier qui montre ce que je souhaite obtenir au final...

Si quelq'un peut me mettre sur une piste... ça serait très gentil!
 

Pièces jointes

  • essai.xls
    28.5 KB · Affichages: 240
  • essai.xls
    28.5 KB · Affichages: 253
  • essai.xls
    28.5 KB · Affichages: 248

mth

XLDnaute Barbatruc
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour fabian123,

Un essai ci-joint avec ce code (lié au bouton "clic"):

Code:
Sheets("Données").Range("B4:D26").Copy Sheets("Récap").Range("B4")

Et dans la zone B4 : B26 de la feuille Récap, une mise en forme conditionnelle consistant à éliminer les bordures si la cellule de la colonne B est vide.

Tu trouveras plus pro que ça, mais vois si ça peut te dépanner en attendant,

mth

Edit: Bonjour Odesta :)
J'étais sûre que fabian123 trouverait mieux, et hop voilà :)
bonne journée
2: bonjour GBI :)
 

Pièces jointes

  • essai2.xls
    47 KB · Affichages: 236
  • essai2.xls
    47 KB · Affichages: 231
  • essai2.xls
    47 KB · Affichages: 218
Dernière édition:

Odesta

XLDnaute Impliqué
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour à tous

Un peu en retard :

Code:
Sub recopier()
Set feuille_source = Sheets("Données")
Set feuille_cible = Sheets("Récap")

For i = 1 To feuille_source.Range("B65000").End(xlUp).Row
    If feuille_source.Cells(i, 2) <> "" Then
        For y = 2 To 4
            'copier le contenu
            feuille_cible.Cells(i, y).Value = feuille_source.Cells(i, y).Value
            
            'copier le format
            feuille_source.Cells(i, y).Copy
            feuille_cible.Cells(i, y).PasteSpecial Paste:=xlPasteFormats
            
        Next
    End If
Next i

Application.CutCopyMode = False
End Sub

Cordialement
Olivier
 

GBI

XLDnaute Occasionnel
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour le fil,

Une proposition ci-joint
Cdt
 

Pièces jointes

  • Copie de essai(1).xls
    37.5 KB · Affichages: 237
  • Copie de essai(1).xls
    37.5 KB · Affichages: 245
  • Copie de essai(1).xls
    37.5 KB · Affichages: 254

fabian123

XLDnaute Occasionnel
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour mth, bonjour Odesta,

un tout grand merci pour vous êtes penché sur mon problème!

mth, c'est exactement le résultat que je souhaite obtenir! mais juste une petite question (je m'y connais pas assez dans vba..): est-il possible d'automatiser ce que tu as fait? en gros est-ce que les modifs peuvent s'effectuer en "temps réel" ou dois-je obligatoirement passer par le bouton "clic"?

encore merci!!!
 

Staple1600

XLDnaute Barbatruc
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour à tous


Une autre possibilité


Code:
Sub a()
Sheets("Données").Range("B4:D26").Copy
    With Sheets("Récap")
        .Range("B4").PasteSpecial xlValues
        .Range("B4:D26").SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous
End With
End Sub
 

mth

XLDnaute Barbatruc
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

re :)

en gros est-ce que les modifs peuvent s'effectuer en "temps réel" ou dois-je obligatoirement passer par le bouton "clic"?

Dans ce cas, il faut placer ton code ici :



A partir des codes des copains ci dessus, voici ma tentative:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Set Plage = Intersect(Target, [B:D])
    If Not (Plage Is Nothing) Then
 
        Dim i As Long, derlig As Long
        derlig = Sheets("Récap").Range("B65536").End(xlUp).Row
            With Sheets("Récap")
                .Range("B4:D" & derlig).SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlNone
                .Range("B4:D" & derlig).ClearContents
            End With
 
        derlig = Sheets("Données").Range("B65536").End(xlUp).Row
        Sheets("Données").Range("B4:D" & derlig).Copy
            With Sheets("Récap")
                .Range("B4").PasteSpecial xlValues
                .Range("B4:D" & derlig).SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous
            End With
 
    End If
Application.ScreenUpdating = True
 
End Sub

et ton fichier en PJ, vois si cela te convient,

Bien à toi,

mth
 

Pièces jointes

  • Autre essai.xls
    42.5 KB · Affichages: 203

mth

XLDnaute Barbatruc
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

re :)

A partir des codes des copains ci dessus, voici ma tentative:

yesssss..., je n'ai pas répété tous pseudos des participants mais je me suis permis :)

Merci à toi et @ +

m

euh ... tu m'expliqueras pour les endives? :eek:

Edit: ah, les END IF, Wouarf :)
(pfffffff ... te moque pas, je suis lente .... mais lente.... )
 

fabian123

XLDnaute Occasionnel
Re : Recopier une cellule et son format (surtout son format) dans une autre feuille

Bonjour tous le monde!

Je vous dis un tout grand merci à toutes et tous pour votre aide!!

et plus particulièrement merci à mth pour ses explications! je finirai par savoir me servir de vba... faut pas perdre espoir!!

Encore merci à toutes et tous pour votre aide!
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 088 011
Membres
103 699
dernier inscrit
samSam31