selection ligne

J

justine

Guest
bonjour a tous
comment interdire aux utilisateurs de selectionner une ligne entiere en cliquant sur les numeros de ligne
merci
 

Toutou

XLDnaute Occasionnel
bonjour, Justine, Nanard, Hervé, le Forum,
Cela n'est pas vraiment en rapport avec la question de Justine, mais je profite de la réponse d'Hervé pour poser cette question:
D'une manière générale, a quoi correspond ce qu'il y a entre parenthèses dans les expressions du type :

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ?

comme ici l'expression 'ByVal Target As Range'

D'avance merci, @ +

Toutou
 

Hervé

XLDnaute Barbatruc
re justine, nanard, salut toutou

toutou, dans ce type de macro (dite évenementielle), les arguments de la macro nous sont imposer par vbe.

Le target représente la cellule active ou la plage de cellule sélectionner

target pourrait etre remplacé par activecell ou par selection.

target etant déclaré range, celui-ci bénéficie de toutes les propriétés d'une cellule (.interior, .text, .value, .address,...)

a savoir que le mot target n'est pas obligatoire, tu peux le remplacer par tout mot à ta convenance, exemple :

Private Sub Worksheet_SelectionChange(ByVal toutou As Range)
MsgBox toutou.Address
End Sub

Voilà, en espérant avoir été clair, je suis pas très bon pour les explications.

salut
 

Toutou

XLDnaute Occasionnel
Bonjour, Justine, Nanard, Hervé, le Forum,

Hervé si j'ai bien compris tes explication, ta procédure affiche un message à chaque fois que le contenu d'une cellule est modifiée, non? Mais quelle est la différence entre

Private Sub Worksheet_SelectionChange(ByVal toutou As Range)
MsgBox toutou.Address
End Sub


ET


Private Sub Worksheet_SelectionChange()
Dim toutou As Range
toutou=ActiveCell '(ou ActiveRange?)
MsgBox toutou.Adress
End sub

???

Et qu'appelles-tu 'arguments de la macro'?

merci
@ +
Toutou
 

Hervé

XLDnaute Barbatruc
re toutou

On aurait pas perdu justine dans cette discution :angry:

Toutou, la différence entre les deux procédures, est simple, y'en a une qui marche, et pas l'autre.

ces procédures attendent obligatoirement un argument (ce qui se trouve entre paranthèse). Tu ne peut pas les enlever.

cet argument (target as range) permet à la macro de savoir qu'elle cellule est sélectionner.

cette macro réagit au changement de cellule.

pour lancer une macro au changement du contenu d'une cellule, on utilise :

Private Sub Worksheet_Change(ByVal Target As Range)


voilà
:)

salut

PS : je suis vraiment un mauvais pédago.
 

Discussions similaires

  • Question
Microsoft 365 resultat
Réponses
6
Affichages
608

Statistiques des forums

Discussions
312 488
Messages
2 088 859
Membres
103 978
dernier inscrit
bderradji