plages nommées et Intersect(target,plage nommées)

  • Initiateur de la discussion Initiateur de la discussion CHti160
  • 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 !

C

CHti160

Guest
bonsoir à toutes et à tous
sur une feuille j'ai un grand nombre de plages nommées auquelles j'aimerais faire référence viaIntersect(Target,Range(des plages nommées))
mon problème et de savoir s'il est possible et comment, d'affecter à un range l'ensemble des noms de ces plages nommées
ex Set Collection_Noms = ActiveWorkbook.Names
For r = 1 To Collection_Noms.Count
Total=range(Collection_Noms(r).name)
ce qui me permettrait d'écrire un truc du genre if not Intersect(Target,Range(Total)) is nothing en utilisant ainsi le nom des plages nommées
en espèrant pouvoir être compris
merci d'avance
A+++
Jean Marie
 
re "Minick"
j'ai constaté après essais que je n'arrive pas a ce que mon userform ne s'ouvre que lorsque Target est sur une cellule de plage nommée
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim Plage As String
Dim Nom As Object

For Each Nom In Application.Names
If ActiveSheet.Name = Nom.RefersToRange.Parent.Name Then 'ici on verifie que la plage nommée appartient bien a la feuille active (ce que j'avais oublié de faire)
If Not Intersect(Target, Range(Nom)) Is Nothing Then 'ici on regarde si le dblclick est dans la plage nommée
UserForm1.Show ' on affiche ton userform
MsgBox Nom.Name ' la pour l'exemple j'affiche la nom de la plage nommée dans une msgbox
Exit For ' on quitte la boucle for pour pas boucler dans le vide pour rien
End If
End If
Next
End Sub

que dois je modifier pour que l'ouverture du Userform ne soit effective que si Target se trouve sur une des plages nommées
Merci d'avance
A+++
Jean Marie
 
Salut "Minick"
bonjour le"FORUM"
version 2002
je vais te mettre mon classeur avec explication pour l'instant les courses
je ne t'ai pas dit je vie Dans l'essonne en dessous de paris depuis 28 ans
je travaille à la SNCF gare de Lyon à Paris "LeurLeur"(48 ans le 22/01/2005)
mais je remonte souvent au pays Lol
encore merci
A+++
Jean Marie
 
Salut,

Le probleme est que tu as mal placé l'instruction qui lance ton USF.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim Plage As String
Dim Nom As Object

For Each Nom In Application.Names
If ActiveSheet.Name = Nom.RefersToRange.Parent.Name Then 'ici on verifie que la plage nommée appartient bien a la feuille active (ce que j'avais oublié de faire)
If Not Intersect(Target, Range(Nom)) Is Nothing Then 'ici on regarde si le dblclick est dans la plage nommée
Cancel = True
' C'est ici que tu dois ouvrir ton Usf et mettre tout le code qui doit etre executé quand tu dblclick dans une plage nommée

USF1.Show ' on affiche ton userform pour savoir si c bon ou mauvais
'Puis ici tu mets ton code pour historiser les modifs en feuille 2


Exit For ' on quitte la boucle for pour pas boucler dans le vide pour rien
End If
End If
Next
End Sub



J'espere avoir été clair

JOYEUX NOEL

@+ Minick
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
2 K
Réponses
1
Affichages
904
Retour