Savoir si un target porte sur une cellule ou une plage

fungio

XLDnaute Nouveau
Bonjour a tous. Pour commencer je vais vous mettre le petit code qui vous aidera a comprendre mon probleme :

Code:
Public Anciennevaleur As Variant

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Anciennevaleur = Target.Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim hrs, sem As Variant
   MsgBox (Target.Cells)
   Select Case Target.Column
        Case 46
            If Target.Value <> Anciennevaleur Then
                Call UpdateTableauFinition
            End If
        Case 47, 49, 51, 53, 55, 57
            ' si la valeur a changé
            If Target.Value <> Anciennevaleur Then
                'Si on a une heure de définie
                hrs = Worksheets("PDP").Cells(Target.row, Target.Column + 1).Value
                sem = Worksheets("PDP").Cells(Target.row, 46).Value
                If hrs <> "" And hrs <> 0 And sem <> "" And sem <> 0 Then
                    Call UpdateTableauFinition
                End If
            End If
        Case 48, 50, 52, 54, 56, 58
            Call UpdateChamp(Target)
    End Select
End Sub

Ce que je voudrais c'est executer la fonction UpdateTableauFinition lorsque je selectionne plusieurs cellules. Par exemple si je selectionne plusieurs ligne et que je fais suppr et bah le code plante lors du If Target.Value <> Anciennevaleur Then

comment savoir si target porte sur plusieurs cellules ?

Merci bcp :)
 

fungio

XLDnaute Nouveau
Re : Savoir si un target porte sur une cellule ou une plage

Merci a tous les deux c'est ce que je cherchais :)

Autre petite question, comment modifier une valeur du target ?

J'ai essayé de faire
Target.Column = Target.Column + 1
Call UpdateChamp(Target)

à l'interieur de mon worksheet_change mais ça ne marche pas
 

Discussions similaires

Statistiques des forums

Discussions
312 448
Messages
2 088 504
Membres
103 872
dernier inscrit
Gufre