Excel - Mise en forme condit.: Copier règles feuille à l'autre

Résolu/Fermé
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020
- 7 juin 2016 à 12:29
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020
- 17 juin 2016 à 11:58
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
A voir également:

7 réponses

LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

8 juin 2016 à 06:22
Bonjour!
Relance svp
0
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
10 juin 2016 à 20:36
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

0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

10 juin 2016 à 23:08
Bonsoir Thev,

Merci beaucoup pour la réponse et l'effort.
Je teste et reviens vers vous au plus tôt!
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020
> LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

11 juin 2016 à 17:07
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:
http://www.cjoint.com/c/FFloOrNtyS7
et 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
0
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
Modifié par thev le 11/06/2016 à 20:06
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.

 
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

13 juin 2016 à 00:18
Bonsoir Thev,

En effet, je n'avais pas copier ce module de classe dans mon fichier.
Après l'avoir fait et lancé la macro, (en gardant sheets (1) et sheets (2)), elle s'exécute jusqu'à la fin sans que rien ne se passe.

C'est normal?
0
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
Modifié par thev le 13/06/2016 à 00:48
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)

' 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

 
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

Modifié par LeFils2Elohim le 13/06/2016 à 01:40
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!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
13 juin 2016 à 14:30
Bonjour,

Votre lien n'est pas disponible.
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

13 juin 2016 à 19:09
Bonjour,

Désolé, en voici un autre: http://www.cjoint.com/c/FFnriWOQnrs
0
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
Modifié par thev le 13/06/2016 à 21:07
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

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

 
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

16 juin 2016 à 13:55
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!
0
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
11 novembre 2021
662
16 juin 2016 à 20:38
Bonsoir,

La macro ne fait effectivement que recopier ce qui existe sur la feuille "Mai-16". Après, rien ne t'empêche de prendre comme feuille source, celle contenant le plus de lignes et de colonnes. Ce qui devrait alors assurer une recopie complète sur l'ensemble de tes feuilles.
0
LeFils2Elohim
Messages postés
31
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
10 mars 2020

17 juin 2016 à 11:58
Bonjour Thev,

En effet, merci pour tout.
0