Je souhaiterais pouvoir affecter une macro à une cellule de mon classeur Excel. J'ai pu voir comment cela se faisait sur d'autres posts sur le forum :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "e;$B$21"e; Then MsgBox "e;exécuter la macro"e;
End Sub
Toutefois, je cherche un fonctionnement plus avancé.
Selon la donnée dans l'une des cellules de la colonne A, la cellule B correspondant peut être cliquable, ou pas.
Ce que je cherche à faire :
- si la cellule Ax = "e;A"e; alors une macro est associée à la cellule Bx.
- si la cellule Ay <> "e;A"e; alors aucune macro n'est associée à la cellule By.
Si quelqu'un peut me dépanner du coup, ce serait sympa.
Un fichier exemple : http://cjoint.com/?DEvbWiY50fS
MichD
Remplace la procédure du ThisWorkbook par ceci, c'est suffisant :
'-------------------------------- Private Sub Workbook_Open() With Worksheets("Feuil1") 'Adapte le nom de la feuille With .Cells .Locked = False End With .Range("B:B").Locked = True End With End Sub '--------------------------------
Pour que cela fonctionne, il faut évidemment que les macros soient activées à l'ouverture d'Excel.
Remplace la procédure du ThisWorkbook par ceci, c'est suffisant :
'--------------------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1") 'Adapte le nom de la feuille
With .Cells
.Locked = False
End With
.Range("B:B").Locked = True
End With
End Sub
'--------------------------------
Pour que cela fonctionne, il faut évidemment que les macros soient activées
à l'ouverture d'Excel.
Remplace la procédure du ThisWorkbook par ceci, c'est suffisant :
'-------------------------------- Private Sub Workbook_Open() With Worksheets("Feuil1") 'Adapte le nom de la feuille With .Cells .Locked = False End With .Range("B:B").Locked = True End With End Sub '--------------------------------
Pour que cela fonctionne, il faut évidemment que les macros soient activées à l'ouverture d'Excel.