Bonjour,
La macro ne se déclenche pas dans mon fichier et je ne comprends pas pourquoi.
Est ce quelqu'un pourrait me dire où cela bloque ?
Merci beaucoup
Version imprimable
Bonjour,
La macro ne se déclenche pas dans mon fichier et je ne comprends pas pourquoi.
Est ce quelqu'un pourrait me dire où cela bloque ?
Merci beaucoup
Bonjour
merci d'expliquer ce que tu cherche à faire avec ton code, d'afficherce code entre balise (#) et indiquer s'il y a lieu le message d'erreur que tu asCitation:
La macro ne se déclenche pas dans mon fichier et je ne comprends pas pourquoi.
Est ce quelqu'un pourrait me dire où cela bloque ?
Ce fichier est un extrait extrêmement simplifié de mon fichier de base.
Je voudrais que quand une personne utilise un raccourci spécifique, la macro dupliquer_ligne se déclenche.
Le code de la macro dupliquer_ligne marche, il est actuellement utilisé mais je l'avais lié à un doublic-clic, ce qui gêne les utilisateurs car du coup ils créent parfois des lignes sans le vouloir.
Merci
Dans ThisWorkBook :
Un module :Code:
1
2
3
4
5
6
7
8 Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "{q}" End Sub Private Sub Workbook_Open() Application.OnKey "{q}", "dupliquer_ligne" End Sub
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Sub dupliquer_ligne() ActiveSheet.Unprotect Password:="x" Ligne = ActiveCell.Row Rows(Ligne + 1 & ":" & Ligne + 1).Select Selection.Insert Shift:=xlDown Range("A" & Ligne & ":P" & Ligne).Select Selection.Copy Range("A" & Ligne + 1 & ":P" & Ligne + 1).Select ActiveSheet.Paste Range("G" & Ligne + 1 & ":M" & Ligne + 1).Select Selection.ClearContents If Range("C" & Ligne + 1).Value = "Maj" _ Or Range("C" & Ligne + 1).Value = "Abs" _ Or Range("C" & Ligne + 1).Value = "Absj" _ Or Range("C" & Ligne + 1).Value = "Prs" _ Then Range("D" & Ligne + 1).Select Selection.ClearContents End If If Range("C" & Ligne + 1).Value = "B1" _ Or Range("C" & Ligne + 1).Value = "B2" _ Or Range("C" & Ligne + 1).Value = "Invs" Then Range("E" & Ligne + 1).Select Selection.ClearContents End If Range("P" & Ligne).Select Selection.Copy Range("P" & Ligne + 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveSheet.Protect Password:="x" End Sub