Bonjour,
J'ai fais ce code qui me permet lors de la sélection d'une feuille de mettre automatiquement la lettre "P" dans la cellule A2 de la feuille.
Ensuite, selon le code de mercatog, le tableau se rempli.
Ce que je souhaite, c'est que si l'utilisateur clique une nouvelle fois sur la feuille, cette action ne se fasse pas. En clair, un 2ème clique rend inactif le 1er code ci-dessous.
Merci par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Worksheet_Activate() Sheets("P").Select Range("A2").Select ActiveCell.FormulaR1C1 = "P" Range("A3").Select End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Worksheet_Change(ByVal Target As Range) Dim LastLig As Long, NewLig As Long, Nb As Long If Target.Address = "$A$2" Then If Target <> "" Then With Sheets("Général") LastLig = .Cells(Rows.Count, "G").End(xlUp).Row With .Range("A1:M" & LastLig) .AutoFilter .AutoFilter field:=7, Criteria1:=Target End With Nb = .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count - 1 If Nb > 0 Then NewLig = Cells(Rows.Count, "A").End(xlUp).Row + 1 Range("A" & NewLig & ":E" & NewLig + Nb - 1).Value = .Range("A2:E" & LastLig).SpecialCells(xlCellTypeVisible).Value Range("G" & NewLig & ":H" & NewLig + Nb - 1).Value = .Range("I2:J" & LastLig).SpecialCells(xlCellTypeVisible).Value Range("J" & NewLig & ":K" & NewLig + Nb - 1).Value = .Range("L2:M" & LastLig).SpecialCells(xlCellTypeVisible).Value End If .Range("A1").AutoFilter End With End If End If End Sub
Partager