XL 2016 Comment copier un tableau a l'identique

fred0

XLDnaute Nouveau
Bonjour a tous,
j'ai un tableau en Feuil1 et j'aimerais le copier a l'identique (mise en forme, couleur, etc ....) en Feuil2
Je ne trouve pas la procedure !!
merci
 

Pièces jointes

  • Classeur1.xlsx
    11.9 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
'controle de formule' est dans l'onglet developpeur ou souvent on y affecte une macro
Arf...arf... 🙂 C'est 'Contrôles de Formulaires' pas de Formule...

Sauf à construire une usine à gaz(chose que je ne ferai pas) faisant intervenir moultes API windows ou moultes pirouettes programmatiques vous n'aurez pas de liste respectant pour chaque item les formats et couleurs de votre liste de feuil1

Cordialement
 

fred0

XLDnaute Nouveau
Arf...arf... 🙂 C'est 'Contrôles de Formulaires' pas de Formule...

Sauf à construire une usine à gaz(chose que je ne ferai pas) faisant intervenir moultes API windows ou moultes pirouettes programmatiques vous n'aurez pas de liste respectant pour chaque item les formats et couleurs de votre liste de feuil1

Cordialement
desolé pour le mauvais terme !! 😇
merci pour le conseil mais vous m'avez déjà aider hier et c'est dans le but de créer un tableau ou je peux affecter des chantiers a mes ouvriers en fonction des jours du mois.
tel jour - tel chantier (et si j'ai un visuel coloré c'est un plus pour lire le planning)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Alors testez ceux-ci.

Feuil2!B3:B15 est une zone nommée "Encours", dans cette zone une liste de validation vous permet de choisir un chantier. Lorsque la cellule change, le format correspondant est récupéré à partir de la feuille Feuil1.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim idx As Variant
    On Error GoTo FIN
    Application.EnableEvents = False ' important
   ' 
   ' Si une seule cellule a changé et quelle est dans la zone nommée 'EnCours'
    If Target.CountLarge = 1 And Not Intersect(Target, Range("EnCours")) Is Nothing Then
         ' Chercher la correspondance dans le tableau T_Chantiers    
         idx = Application.Match(Target.Text, Feuil1.Range("T_Chantiers[Chantiers]"), 0)
         ' Non trouvé, on met le style normal
        If IsError(idx) Then
            Target.Style = "Normal"
        Else
            ' Sinon on importe le format
            Feuil1.Range("T_Chantiers[Chantiers]").Cells(idx, 1).Copy
            Target.PasteSpecial xlPasteFormats
            Application.CutCopyMode = False
        End If
    End If
FIN:
    Application.EnableEvents = True
End Sub
cordialement
 

Pièces jointes

  • fred0.xlsm
    24.6 KB · Affichages: 3

fred0

XLDnaute Nouveau
Re,

Alors testez ceux-ci.

Feuil2!B3:B15 est une zone nommée "Encours", dans cette zone une liste de validation vous permet de choisir un chantier. Lorsque la cellule change, le format correspondant est récupéré à partir de la feuille Feuil1.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim idx As Variant
    On Error GoTo FIN
    Application.EnableEvents = False ' important
   '
   ' Si une seule cellule a changé et quelle est dans la zone nommée 'EnCours'
    If Target.CountLarge = 1 And Not Intersect(Target, Range("EnCours")) Is Nothing Then
         ' Chercher la correspondance dans le tableau T_Chantiers   
         idx = Application.Match(Target.Text, Feuil1.Range("T_Chantiers[Chantiers]"), 0)
         ' Non trouvé, on met le style normal
        If IsError(idx) Then
            Target.Style = "Normal"
        Else
            ' Sinon on importe le format
            Feuil1.Range("T_Chantiers[Chantiers]").Cells(idx, 1).Copy
            Target.PasteSpecial xlPasteFormats
            Application.CutCopyMode = False
        End If
    End If
FIN:
    Application.EnableEvents = True
End Sub
cordialement
c'est génial cette macro, merci beaucoup 🙏
🙏🙏
 

Discussions similaires

Statistiques des forums

Discussions
314 588
Messages
2 110 988
Membres
111 002
dernier inscrit
Lolo73i