VBA Definir un nom pour plusieure feuilles

tdenfert

XLDnaute Impliqué
Bonjour,

je travail sur un fichier avec plusieurs onglets identiques
j'ai fait une mise en forme conditionnelle vba en m'appuyant sur le fichier de monsieur Boisgontier cijoint
Il y a développé trois exemples cas1 2 et 3 , les trois exemple fonctionne en appelant un champ nommé:
champMFC =Cas1!$B$3:$F$15 qui se réfère à la feuille cas 1 cette ref fonctionne aussi pour les deux autres feuilles!?
si je crée une feuille cas 4 en insérant un feuille et en dupliquant le code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([ChampMFC], Target) Is Nothing Then
Application.EnableEvents = False
On Error Resume Next
[couleurs].Find(Target, LookAt:=xlWhole).Copy
Target.PasteSpecial Paste:=xlPasteFormats
Application.EnableEvents = True
End If
End Sub

il plante à la ligne If Not Intersect([ChampMFC], Target) Is Nothing Then

Si je référence ChampMFC =cas4!$B$3:$F$15 la feuille fonctionne mais pas les autres(123)

maintenant si je crée une copie de la feuil cas1 (cas5)
elle fonctionne

Bref je nage dans le potage

Comment faire pour que la plage nommée fonctionne pour les feuilles de mon choix

je suis en 2003

Nb quand je supprime à la création la ref à l'onglet il me l'a remet à chaque fois

merci m'avoir lu
 

Pièces jointes

  • MFCPlus3coul(1).xls
    73 KB · Affichages: 51

tdenfert

XLDnaute Impliqué
Re : VBA Definir un nom pour plusieure feuilles

bonjour
je viens de trouver une astuce donné par Misange
il suffit de nommer la plage comme ceci !$B$3:$F$15
ceci devrait suffire à à me sortir d'affaire
Pourtant il doit bien y avoir une autre façon de faire puisque les feuilles dupliquer fonctionne avec un nom comportant le nom de la feuille source.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA Definir un nom pour plusieure feuilles

Bonjour Tdenfert, bonjour le forum

Il y a développé trois exemples cas1 2 et 3 , les trois exemple fonctionne en appelant un champ nommé:champMFC =Cas1!$B$3:$F$15 qui se réfère à la feuille cas 1 cette ref fonctionne aussi pour les deux autres feuilles!?
Pas du tout ! chaque onglet a som champs nommé champMFC qui fait référence à l'onglet. Pour les différents onglets on a :
• pour Cas1 : champMFC =Cas1!$B$3:$F$15
• pour Cas2 : champMFC =Cas2!$B$3:$F$15
• pour Cas3 : champMFC =Cas3!$B$3:$F$15

j'ai modifié dans ton fichier en pièce jointe :
• pour cas4 : champMFC=cas4!$B$3:$F$15
• pour cas5 : champMFC==cas5!$B$3:$F$15
et ça marche sans problème...
Le fichier :

 

Pièces jointes

  • Tdenfert_v01.xls
    66.5 KB · Affichages: 34

tdenfert

XLDnaute Impliqué
Re : VBA Definir un nom pour plusieure feuilles

bonjour Robert

je crois viens de comprendre mon erreur

Quand on fait insérer , nom on ne visualise que le la liste relative à l'onglet en cours.
sinon pour une plage donnée pour ne pas créer autant de nom que d'onglet l'astuce de Misange a bien régler mon problème.
le point d'exclamation devant pour nommer une plage valide pour tous les onglets !$B$3:$F$15
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 457
Membres
103 546
dernier inscrit
mohamed tano