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

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
 
C

CHti160

Guest
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
 
C

CHti160

Guest
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
 
C

CHti160

Guest
Re"Minick"
le Ch'ti je te joins le fichier
j'y ai mis une explication sommaire
je clicks hors des plages nommées mais le Userform1 apparrait ?????
JOYEUX Noël
A +++
Jean Marie
 

Pièces jointes

  • PourMinickV1.zip
    27.9 KB · Affichages: 36
M

Minick

Guest
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
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 010
Membres
104 004
dernier inscrit
mista