bonjour
il faut utiliser une des procédures évènementielles de l'objet Feuille de calcul , c'est à dire une procédure qui s'exécute à l'avènement de certains évènements ;-)))
pour connaître ces évènements, tu peux procéder comme suit :
* positionne-toi sur une feuille de calcul
* clique à droite sur l'onglet pour faire apparaître un menu contextuel
* choisit l'option Visualiser le code
=>
Visual Basic Editor se lance et laisse apparaître une feuille de code correspondant à ta feuille de calcul. Il a déjà écrit deux déclarations, celle de début et de fin de la procédure évènementielle dont tu as besoin, ça tombe bien. Voilà ce que tu dois normalement voir
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
End Sub
Tu vas pouvoir y inscrire ce que tu veux. Je te donne une ou deux infos.
la variable Target représente une variable objet qui est en fait la cellule qui vient d'être sélectionnée. Tu peux utiliser des instructions du genre suivant :
if target.column=5 then msgbox "vous avez sélectionné une cellule de la colonne 5"
if target.address(0,0)="B10" then msgbox "vous avez sélectionné B10"
If Not Application.Intersect(Target, Range("A1:C10")) Is Nothing Then
MsgBox "vous avez sélectionné une cellule de la plage A1:C10"
End If
je pense que ceci devrait t'éclairer un peu.
encore un ou deux exemples d'instruction à employer dans ce type de procédure évènementielle
If Target.Address = Columns(Target.Column).Address Then MsgBox "vous avez sélectionné une colonne"
If Target.Address = rows(Target.row).Address Then MsgBox "vous avez sélectionné une ligne"
ou peut-être faut-il préférer cela (je ne pense pas)
if target.cells.count=655366 and target.columns.count=1 then msgbox "vous avez sélectionné une colonne"
if target.cells.count=256 and target.rows.count=1 then msgbox "vous avez sélectionné une colonne"
bye
Stéphane
tu peux utiliser