J'aimerai lancer une macro précise après avoir taper "Enter" sur le clavier, d'une cellule précise (D3 nommée "Ref.").
J'ai la macro
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Ref.")) Is Nothing Then
ImportImages_Master
End If
End Sub
Next
End Sub
Normalement en tapant "Enter" de la cellule "Ref." (dans ce cas D3), il devrait se lancer la macro "ImportImages_Master" (ci dessous)
Sub ImportImages_Master()
Application.ScreenUpdating = False
répertoirePhoto = "C:\Users\lserra\Pictures\_StockSur\"
For Each C In [H14]
nf = répertoirePhoto & C & ".jpg"
On Error Resume Next
If Dir(nf) <> "" Then
Set img = ActiveSheet.Pictures.Insert(nf)
img.Left = C.Offset(, 1).Left + 46
img.Top = C.Offset(, 1).Top + 5
On Error GoTo 0
End If
J'ai essayé de renommée "ImportImages_Master" para "Sub ImportImages_Master()" mais ca ne marche pas non plus.
Que dois-je changer dans ma première macro pour qu'a taper "Enter" danss la cellule Ref. (D3), s'exécute la macro Sub ImportImages_Master() ??
Bonsoir a adapter
placé ce qui suit dans un module standard :
Code:
Sub NumericEnter()
Application.OnKey "{ENTER}", " ImportImages"
End Sub
Sub ClearEnter()
Application.OnKey "{ENTER}"
End Sub
Sub ImportImages()
MsgBox "Ok"'Ici votre code à la place
End Sub
placé ce qui suit dans la zone de code de Sheet1
Code:
Private Sub Worksheet_Activate()
Call NumericEnter
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("D3")) Is Nothing Then
Call ImportImages"
End If
End If
End Sub
Private Sub Worksheet_Deactivate()
Call ClearEnter
End Sub
placé les éléments suivants dans la zone de code du classeur :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ClearEnter
End Sub
Private Sub Workbook_Open()
Sheets("Sheet1").Activate
End Sub
Le but de la Workbook_Open()macro est d’assurer que nous commencions avec Sheet1 actif et la ENTER touche "spéciale" active.
Voilà dans l'esprit
a++
Bonsoir a adapter
placé ce qui suit dans un module standard :
Code:
Sub NumericEnter()
Application.OnKey "{ENTER}", " ImportImages"
End Sub
Sub ClearEnter()
Application.OnKey "{ENTER}"
End Sub
Sub ImportImages()
MsgBox "Ok"'Ici votre code à la place
End Sub
placé ce qui suit dans la zone de code de Sheet1
Code:
Private Sub Worksheet_Activate()
Call NumericEnter
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("D3")) Is Nothing Then
Call ImportImages"
End If
End If
End Sub
Private Sub Worksheet_Deactivate()
Call ClearEnter
End Sub
placé les éléments suivants dans la zone de code du classeur :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ClearEnter
End Sub
Private Sub Workbook_Open()
Sheets("Sheet1").Activate
End Sub
Le but de la Workbook_Open()macro est d’assurer que nous commencions avec Sheet1 actif et la ENTER touche "spéciale" active.
Voilà dans l'esprit
a++