Ouverture différents UsF avec utilisation clic droit

Pat2A

XLDnaute Junior
Bonjour,
J'utilise la fonction double clic et clic droit sur une feuille Excel afin d'ouvrir un userform .
J'aimerai pouvoir ouvrir des userform différents en fonction de la valeur ou de la couleur de la cellule sur laquelle je double clique ou clique droit. Après différentes solutions essayees sans résultat probant j'ai décidé de faire appel à vous. Pensez vous que cela est possible?
Voici la macro que J'utilise:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Booléen)
If Intersection (Range ("A01:IG1500"), Target) Is Nothing Then Exit Su
Cancel = True
Userform1.Show
Exit Sub
End Sub
Merci de votre aide
 
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : Ouverture différents UsF avec utilisation clic droit

Bonsoir Pat2a,

Avec ce code, la macro ne s'exécutera que si la cellule contient MaValeur et est de la couleur MaCouleur.
VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Booléen)
    If Intersection(Range("A01:IG1500"), Target) Is Nothing Or Target.Value <> Mavaleur Or Target.Interior.ColorIndex <> MaCouleur Then Exit Sub
    Cancel = True
    Userform1.Show
    Exit Sub
End Sub

A+
 

Fred0o

XLDnaute Barbatruc
Re : Ouverture différents UsF avec utilisation clic droit

Re-bonsoir,

Par exemple comme ceci :
VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Booléen)
    If Intersection(Range("A01:IG1500"), Target) Is Nothing Then Exit Sub
        Cancel = True
        If Target.Value <> Mavaleur Then
            Userform1.Show
        ElseIf Target.Interior.ColorIndex <> MaCouleur Then
            Userform2.Show
        ElseIf AutreCondition Then
            UserFormAutre.Show
        End If
    Exit Sub
End Sub

A+
 

Pat2A

XLDnaute Junior
Re : Ouverture différents UsF avec utilisation clic droit

J'ai quelques soucis avec la macro ci-dessous: Si je mets "1" dans la cellule c'est le UsF2 qui s'ouvre et si je mets "2" ou "3" c'est le UsF1 qui s'ouvre.
D'autre part si je ne mets rien ou une valeur non prévue ça bug.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, CancelAs Boolen)
If Intersect (Range("A1"), Target) Is Nothing Then Exit Sub
Cancel = True
If Target.Value <> 1 Then
Userform1.Show
ElseIf Target.Value <> 2 Then
Userform2.Show
ElseIf Target.Value <> 3 Then
UserForm3.Show
End If
Exit Sub
End Sub
 
Dernière édition:

néné06

XLDnaute Accro
Re : Ouverture différents UsF avec utilisation clic droit

Bonsoir Pat 2A,Bonsoir Fredoo et le Forum

Je n'ai que survolé ton post mais peut-être

If*Target.Value <> 1*Then à remplacer par If*Target.Value = 1*Then

A+
 
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : Ouverture différents UsF avec utilisation clic droit

Re-bonsoir Pat2A,

3° post et déjà plus aucune formule de politesse ?

D'autre part, lis bien le code et tu comprendras que si tu mets des <>, cela veut dire différent. Donc, le code que tu dois avoir (je pense) est celui-ci :
VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
        Cancel = True
        If Target.Value = 1 Then
            Userform1.Show
        ElseIf Target.Value = 2 Then
            Userform2.Show
        ElseIf Target.Value = 3 Then
            UserForm3.Show
        End If
    Exit Sub
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 960
Membres
103 686
dernier inscrit
maykrem