Plusieurs Userforms dans différentes plages de cellules

Y compris Power BI, Power Query et toute autre question en lien avec Excel
m
mickaekkael
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 1 mars 2018
Version d'Excel : 2010

Message par mickaekkael » 14 mars 2018, 15:15

Bonjour, grâce à GMB, j'avais réussi à déclencher un Userform sur plusieurs plages de cellules d'une même feuille grâce au code ci-dessous. Je souhaiterais pouvoir faire la même chose mais avec 2, 3 ou 4 Userform différents sur différentes plages de cellules d'une même feuille. Quelqu'un peut-il m'aider en modifiant le code (sans forcément prendre en compte les plages) :


Option Explicit

Dim plage As Range


Private Sub worksheet_selectionchange(ByVal target As Range)


If target.Count > 1 Then Exit Sub
Set plage = Union(Range("D7:T12"), Range("V7:FI12"), Range("FO7:GF12"), Range("HH7:ID12"), Range("D16:I21"), _
Range("K16:N21"), Range("P16:S21"), Range("DD16:DH21"), Range("DK16:DN21"), Range("DQ16:DX21"), Range("EA16:EI21"), _
Range("FH16:FO21"), Range("FQ16:FU21"), Range("D56:I60"), Range("K56:N60"), Range("P56:S60"), _
Range("DJ56:DN60"), Range("DQ56:DX60"), Range("EA56:EJ60"), Range("FH56:FN60"), Range("FQ56:FU60"), _
Range("D64:T69"), Range("V64:FG69"), Range("FK64:GF69"), Range("HH64:ID69"))

If Not Intersect(target, plage) Is Nothing Then
UserForm1.Show


End If

End Sub
Avatar du membre
Patty5046
Membre impliqué
Membre impliqué
Messages : 1'300
Appréciations reçues : 131
Inscrit le : 2 février 2016
Version d'Excel : 2016

Message par Patty5046 » 14 mars 2018, 15:33

Bonjour

Tu modifies les plages que tu souhaites et au lieu d'appeler userform1, tu appelles userform 2, ou 3 ou 4, bien entendu après les avoir créés

Je pense que GMB t'a fait un modèle intéressant

A+
a
archer
Membre impliqué
Membre impliqué
Messages : 1'258
Appréciations reçues : 102
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 14 mars 2018, 16:04

Bonjour
voila un principe
j'ais modifier la macro de GMB
A toi de voir
A+
Maurice
Dim Plage, Plage1, Plage2 As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'    Set plage = Union(Range("B3:C10"), Range("B19:D26"), Range("E8:G16"))
        Set Plage = Range("B3:C10")
        Set Plage1 = Range("B19:D26")
        Set Plage2 = Range("E8:G16")
    If Not Intersect(Target, Plage) Is Nothing Then UserForm1.Show
    If Not Intersect(Target, Plage1) Is Nothing Then UserForm2.Show
    If Not Intersect(Target, Plage2) Is Nothing Then UserForm3.Show
End Sub
m
mickaekkael
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 1 mars 2018
Version d'Excel : 2010

Message par mickaekkael » 14 mars 2018, 20:24

Merci Archer, mais j'ai besoin des Union car j'ai plusieurs plages et plusieurs UserForm.

GMB vient de me répondre, il a juste ajouté des Else If, tout bête mais ça fonctionne.


Merci en tout cas.
m
mickaekkael
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 1 mars 2018
Version d'Excel : 2010

Message par mickaekkael » 14 mars 2018, 20:25

Merci bien Patty, GMB m'a dépanné en ajoutant juste un Else If.
a
archer
Membre impliqué
Membre impliqué
Messages : 1'258
Appréciations reçues : 102
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 14 mars 2018, 21:07

bonsoir
et on peux voir cette macro ?
A+
Maurice
m
mickaekkael
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 1 mars 2018
Version d'Excel : 2010

Message par mickaekkael » 15 mars 2018, 07:29

Bien sûr, autant en faire profiter tout le monde, la voici :

Option Explicit

Dim plage As Range, plage1 As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
Set plage = Union(Range("BJ12:CC12"), Range("GF7:HF7"), Range("HZ7:IW7"))
Set plage1 = Union(Range("V7:AZ7"), Range("EC7:ES7"), Range("FK7:GC7"))

If Not Intersect(Target, plage) Is Nothing Then
UserForm1.Show
ElseIf Not Intersect(Target, plage1) Is Nothing Then
UserForm2.Show
End If
End Sub


Merci pour vos réponses en tout cas.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message