Lancement macro sur selection celulle ok mais petit pb

jpmasclet

XLDnaute Occasionnel
Bonjour,

J'ai créer un code qui lance un userform lorsque je selectionne une celulle, ma macro fonctionne bien mais celle ci a un inconvenient, si je selectionne la ligne ou encore tout le tableau, celle ci se lance egalement.

Peut on mettre une parade qui dit si plusieurs celulle sont selectionné, rien ne se passe ?

Voici mon code :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("S4:S100")) Is Nothing Then
copieur.Show
End If
End Sub

Merci par avance,
 

Chloulou

XLDnaute Occasionnel
Re : Lancement macro sur selection celulle ok mais petit pb

salut,
un jour j'avais besoin de lancer un USf lorsque je cliquais sur une cellule d'une colonne, (chaque cellule de la colonne lance l'USF) mais je ne voulais pas que si la cellule était vide l'USF se lance, de même si je séléctionnais plus d'une cellule, donc j'ai rajouter des tests (avec If) dans tous les sens, ca donnait ça:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Objectif : Afficher un formulaire 

    Dim Plage As Range
    Dim Col As Long
    Dim Ligne As Long
    Dim Ndevis As Long
    Dim NbLigneSelection As Long 'Nb de ligne séléctionné
    Dim NbColonneSelection As Long 'Nb de colonnes de la séléction
    Dim ValeurCellule As String
    
    Set Plage = Selection
    Col = Plage.Column
    Ligne = Plage.Row
    NbLigneSelection = Plage.Rows.Count
    NbColonneSelection = Plage.Columns.Count
    
    If Col = 7 Then
        
        If NbColonneSelection = 1 Then
        
            If NbLigneSelection < 2 Then
        
                 ValeurCellule = Plage.Value
                
                If ValeurCellule = "" Then
                    
                                     
                Else
                
                    If (Col = 7) And (Ligne > 1) Then
    
                        If Target.Address = Plage.Address Then
            
                            UserForm5.Show 0
                            
                        End If
                        
                    End If
        
                End If
        
            End If
    
        End If
    
    End If
    
End Sub
en espérant que ca puisse te servir et te donner quelques idées:):rolleyes:

@+
 

Luki

XLDnaute Accro
Re : Lancement macro sur selection celulle ok mais petit pb

Bonjour jpm,

il faut limiter à une seule cellule :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("S4:S100")) Is Nothing Then
        [B]If Target.Cells.Count = 1[/B] Then copieur.Show
    End If
End Sub
bonne journée


Bonjour Chloulou!
 

Pierrot93

XLDnaute Barbatruc
Re : Lancement macro sur selection celulle ok mais petit pb

Bonjour Jpmasclet, Chloulou

autre solution :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("S4:S100")) Is Nothing Then
copieur.Show
End If
End Sub

bonne journée
@+

edition bonjour Luki, désolé pour la collision
 

Chloulou

XLDnaute Occasionnel
Re : Lancement macro sur selection celulle ok mais petit pb

c'est normal que tu ais pris ces solutions, t'as vu l'allure de la mienne....!!!

en fait c'est qu'il y avait pas mal d'autre conditione en plus, je me souviens plus trop

le tout 'était de rajouter un test sur le nombre de colonne, de cellules séléctionnées.

@+
 

Luki

XLDnaute Accro
Re : Lancement macro sur selection celulle ok mais petit pb

Re, à tous

Prends celle de Pierrot, elle est plus propre.

Et pour le plaisir, une petite modif pour la raccourcir encore un peu :

Code:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   if Target.Count > 1 Then Exit Sub
   If Not Intersect(Target, Range("S4:S100")) Is Nothing Then copieur.Show
End Sub
Tu peux te passer du bloc if dans un cas comme celui-ci, où tu n'as qu'une instruction à passer.
Bonne journée
 

Discussions similaires

  • Résolu(e)
XL 2021 macro
Réponses
9
Affichages
492

Statistiques des forums

Discussions
312 389
Messages
2 087 929
Membres
103 676
dernier inscrit
Haiti