VBA Definir un nom pour plusieure feuilles

  • Initiateur de la discussion Initiateur de la discussion tdenfert
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
319
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
493
Réponses
2
Affichages
406
Réponses
0
Affichages
567
Retour