Excel - Mise en forme condit.: Copier règles feuille à l'autre [Résolu/Fermé]

Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
- - Dernière réponse : LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
- 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
Afficher la suite 

7 réponses

Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
0
Merci
Bonjour!
Relance svp
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
Bonjour,

ci-joint une macro "copie_fichiers" permettant de dupliquer les règles MFC de la feuille 1 vers la feuille 2.

http://www.cjoint.com/c/FFksHyHltkt

LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
Bonsoir Thev,

Merci beaucoup pour la réponse et l'effort.
Je teste et reviens vers vous au plus tôt!
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
> LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
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
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
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.

 
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
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?
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
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
http://www.cjoint.com/c/FFmwPROqvAf

 
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
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!
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
Bonjour,

Votre lien n'est pas disponible.
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
Bonjour,

Désolé, en voici un autre: http://www.cjoint.com/c/FFnriWOQnrs
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
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

 
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
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!
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
336
0
Merci
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.
LeFils2Elohim
Messages postés
27
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
22 juin 2018
-
Bonjour Thev,

En effet, merci pour tout.