Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer une macro après un "Enter" dans une cellule précise

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lionelserra

XLDnaute Nouveau
Bonjour,

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() ??

Merci bcp.

Ciao
Lio
 
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++
 


Super !!! Merci bcp.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
619
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…