VBA Excel : reproduire une mise en forme
Résoluyg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 - 10 avril 2024 à 16:50
- VBA Excel : reproduire une mise en forme
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
10 avril 2024 à 16:50
bonjour,
tu as pourtant déjà utiliser la fonction range(), l'as-tu oubliée?
Set Origine = range ( NJ.Offset(-1, 0) , NJ.Offset(-1, 8) )
10 avril 2024 à 16:05
Bonjour,
Il semble que vous ayez quelques erreurs dans votre code au niveau de la définition des plages d'origine et de destination. Voici une version corrigée de votre code :
Sub Reproduire_MiseEnForme()
Dim NJ As Range, Origine As Range, Destination As Range
'Définition de la cellule active comme point de départ
Set NJ = ActiveCell
'Définition de la plage d'origine (une cellule au-dessus et 8 colonnes à droite de NJ)
Set Origine = NJ.Offset(-1, 0).Resize(1, 8)
'Copie de la mise en forme de la plage d'origine
Origine.Copy
'Définition de la plage de destination (cellule active et 10 lignes en bas et 8 colonnes à droite de NJ)
Set Destination = NJ.Offset(10, 8)
'Collage spécial de la mise en forme dans la plage de destination
Destination.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Désactivation du mode de copie
Application.CutCopyMode = False
End Sub
Voilà.
10 avril 2024 à 16:47
Merci pour ta réponse!
ça fonctionne correctement si j'écris : set Destination = NJ.Resize(10, 8)
Cordialement, Mikel