Excel - Mise en forme condit.: Copier règles feuille à l'autre
Résolu
LeFils2Elohim
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
LeFils2Elohim Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
LeFils2Elohim Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour chère Team!
J'aimerai savoir s'il est possible de copier à l'aide d'une macro les 10 ou 15 règles d'une feuille de calcul Excel à une autre, à l'identique! Sans pour autant avoir à reproduire également la Police (couleur, gras, souligné, taille etc.) des cellules de la feuille d'origine.
Ce qu'il me faut, c'est copier uniquement les règles de la MFC de la feuille d'origine sur une autre.
J'ai à peu près 15 feuilles de calculs et je peine à réinsérer ces règles une à une dans chaque feuille.
D'avance merci pour les réponses que vous voudrez bien me donner!
Très cordialement,
Le Fils
J'aimerai savoir s'il est possible de copier à l'aide d'une macro les 10 ou 15 règles d'une feuille de calcul Excel à une autre, à l'identique! Sans pour autant avoir à reproduire également la Police (couleur, gras, souligné, taille etc.) des cellules de la feuille d'origine.
Ce qu'il me faut, c'est copier uniquement les règles de la MFC de la feuille d'origine sur une autre.
J'ai à peu près 15 feuilles de calculs et je peine à réinsérer ces règles une à une dans chaque feuille.
D'avance merci pour les réponses que vous voudrez bien me donner!
Très cordialement,
Le Fils
A voir également:
- Copier mise en forme conditionnelle sur plusieurs feuilles
- Mise en forme conditionnelle excel - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau croisé dynamique - Guide
- Copier mise en forme word - Accueil - Microsoft Office
7 réponses
Bonjour,
ci-joint une macro "copie_fichiers" permettant de dupliquer les règles MFC de la feuille 1 vers la feuille 2.
https://www.cjoint.com/c/FFksHyHltkt
ci-joint une macro "copie_fichiers" permettant de dupliquer les règles MFC de la feuille 1 vers la feuille 2.
https://www.cjoint.com/c/FFksHyHltkt
Bonjour Thev,
J'ai copié le code dans un nouveau module de mon fichier.
Comme je souhaite (pour le test) copier les règles mfc de la feuille 36 (Mai. Theor.) à la feuille 37 (Mai Theor. (2)), alors j'ai modifié dans votre code:
--> sheets (1) en sheets (36)
--> sheets (2) en sheets (37)
Une fois lancée, la macro stoppe comme sur cette image:
Quand je reviens en arrière:
--> sheets (36) en sheets (1)
--> sheets (37) en sheets (2)
Et que je lance la macro elle bloque (cf. image-ci:
D'avance merci encore.
Très cordialement,
Le Fils
J'ai copié le code dans un nouveau module de mon fichier.
Comme je souhaite (pour le test) copier les règles mfc de la feuille 36 (Mai. Theor.) à la feuille 37 (Mai Theor. (2)), alors j'ai modifié dans votre code:
--> sheets (1) en sheets (36)
--> sheets (2) en sheets (37)
Une fois lancée, la macro stoppe comme sur cette image:
http://www.cjoint.com/c/FFloOrNtyS7et quand je clique sur "débogage", il me surligne en jaune la partie qui bloque: sheets (36) (cf. image-ci:
http://www.cjoint.com/c/FFloT7adfk7)
Quand je reviens en arrière:
--> sheets (36) en sheets (1)
--> sheets (37) en sheets (2)
Et que je lance la macro elle bloque (cf. image-ci:
http://www.cjoint.com/c/FFlpcCX1NO7) et surligne en jaune (cf. image-ci:
http://www.cjoint.com/c/FFlpfsOPrg7)
D'avance merci encore.
Très cordialement,
Le Fils
Apparemment, tu n'as pas recopié le module de classe MEFC permettant de gérer les propriétés inexistantes du format conditionnel selon son type.
Pour voir un résultat, il faut copier les valeurs de sheets(1) sur sheets(2).
J'ai testé pas mal de cas et cela a fonctionné.
Insère un "stop" après cette instruction afin de vérifier l'état des différentes propriétés de la première règle, ainsi que la plage de cellules concernée (règle.AppliesTo.Address)
Par ailleurs, j'ai apporté une modification au code afin d'être certain de bien gérer les règles multiples sur une même cellule. Ci-jointe nouvelle version
https://www.cjoint.com/c/FFmwPROqvAf
J'ai testé pas mal de cas et cela a fonctionné.
Insère un "stop" après cette instruction afin de vérifier l'état des différentes propriétés de la première règle, ainsi que la plage de cellules concernée (règle.AppliesTo.Address)
' Création de la règle dans la plage de la feuille 2 correspondante à partir de celle existante dans la plage de la feuille 1
feuille2.Range(règle.AppliesTo.Address).FormatConditions.Add Type:=MEFC.Typ, _
Operator:=MEFC.Operator, Formula1:=MEFC.Formula1, Formula2:=MEFC.Formula2, _
TextOperator:=MEFC.TextOperator, DateOperator:=MEFC.DateOperator, ScopeType:=MEFC.ScopeType
Par ailleurs, j'ai apporté une modification au code afin d'être certain de bien gérer les règles multiples sur une même cellule. Ci-jointe nouvelle version
https://www.cjoint.com/c/FFmwPROqvAf
Bonsoir Thev,
Je te remercie pour tes réponses rapides et ton précieux temps.
Je t'avoue que j'apprends à peine le langage VB/VBA. Je ne suis qu'à mes débuts.
Quoi qu'il en soit, trouves ci joint (http://www.cjoint.com/c/FFmxIsYS3XM) le fichier avec ses MEFC. Le but est de dupliquer les règles de la feuille "Mai-16" à "Juin-16".
J'ai copié les deux modules de ton dernier fichier dedans. J'ai lancé la macro et toujours rien.
Milles merci d'avance!
Je te remercie pour tes réponses rapides et ton précieux temps.
Je t'avoue que j'apprends à peine le langage VB/VBA. Je ne suis qu'à mes débuts.
Quoi qu'il en soit, trouves ci joint (http://www.cjoint.com/c/FFmxIsYS3XM) le fichier avec ses MEFC. Le but est de dupliquer les règles de la feuille "Mai-16" à "Juin-16".
J'ai copié les deux modules de ton dernier fichier dedans. J'ai lancé la macro et toujours rien.
Milles merci d'avance!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
il suffit de paramétrer les feuilles "Mai-16" à "Juin-16". 3 versions sont possibles. A vous de choisir celle qui vous convient le mieux.
version 1
ou version 2
ou version 3
il suffit de paramétrer les feuilles "Mai-16" à "Juin-16". 3 versions sont possibles. A vous de choisir celle qui vous convient le mieux.
version 1
Sub copie_mefc2()
Set F1 = Sheets(5)
Set F2 = Sheets(6)
Call dupliquer_mefc(F1, F2)
End Sub
ou version 2
Sub copie_mefc2()
Set F1 = Sheets("Mai-16")
Set F2 = Sheets("Juin-16")
Call dupliquer_mefc(F1, F2)
End Sub
ou version 3
Sub copie_mefc2()
Set F1 = Feuil5
Set F2 = Feuil6
Call dupliquer_mefc(F1, F2)
End Sub
Bonjour Thev,
Désolé de répondre si tard.
J'ai testé les solutions ci dessus. Elles ont fonctionné!
Toutefois, elles ne s'arrêtent qu'à la ligne 11 et à la colonne E, comme la précédente feuille.
La macro n'a pas pris en compte que les lignes peuvent s'étendre ou l'inverse.
En tout cas, c'est super déjà qu'elle puisse déjà faire déjà ça!!
GRAND MERCI à toi Thev!
Désolé de répondre si tard.
J'ai testé les solutions ci dessus. Elles ont fonctionné!
Toutefois, elles ne s'arrêtent qu'à la ligne 11 et à la colonne E, comme la précédente feuille.
La macro n'a pas pris en compte que les lignes peuvent s'étendre ou l'inverse.
En tout cas, c'est super déjà qu'elle puisse déjà faire déjà ça!!
GRAND MERCI à toi Thev!