Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 And Target.Column = 2 Then 'colonne 2 car colonne B
If LCase(Target.Value) = "affaire" Then 'nom de la case affaire
maligne = Target.Row 'ligne active
Rows(maligne + 2 & ":" & maligne + 10).Copy 'copie du tableau
Rows(maligne + 11 & ":" & maligne + 19).Insert shift:=xlDown 'colle au dessus
Application.CutCopyMode = False
Range("D" & maligne + 2).Resize(7, 15).Select
Selection.ClearContents 'on efface le petit tableau qui vient d'etre inséré
'et on réécrit la formule en colonne Q
formule = "=P" & maligne + 5 & "*O" & maligne + 5
Range("Q" & maligne + 3).FormulaLocal = formule
'et on réécrit la formule en colonne N
formule1 = "=$N$" & maligne + 0
Range("N" & maligne + 3).FormulaLocal = formule1
'décale sélection d'une ligne
Range(Target.Address).Offset(1, 0).Select
End If
If Target = "." Then 'si je vois ça(.) et que je clique dessus
Target = ".." 'alors on remplace par (..) et on change la couleur avec la ligne en dessous
Union(Target.Offset(0, 3), Target.Offset(-3, 4).Resize(2, 5), Target.Offset(3, 4).Resize(1, 5), Target.Offset(0, 11).Resize(, 2), Target.Offset(-2, 13).Resize(, 2), Target.Offset(2, 13).Resize(, 2), Target.Offset(0, 15).Resize(, 2)).Select
Selection.Interior.Color = RGB(234, 234, 234)
Target.Offset(1, 0).Select
Call calculmoyenne(Cells(Target.Row - 1, 16))
ElseIf Target = ".." Then 'si je vois ça(..) et je clique dessus
Target = "." 'alors on remplace par (.) et on change la couleur avec la ligne en dessous
Union(Target.Offset(0, 3), Target.Offset(-3, 4).Resize(2, 5), Target.Offset(3, 4).Resize(1, 5), Target.Offset(0, 11).Resize(, 2), Target.Offset(-2, 13).Resize(, 2), Target.Offset(2, 13).Resize(, 2), Target.Offset(0, 15).Resize(, 2)).Select
Selection.Interior.Color = RGB(255, 254, 140) 'selectionner chaque case a changer de couleur (ici jaune)
Target.Offset(1, 0).Select
Call calculmoyenne(Cells(Target.Row - 1, 16))
End If
If Target = "image" Then
Target.Offset(0, 10).Select
ad = Selection.Address
ficimg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image")
If ficimg <> False Then
ActiveSheet.Pictures.Insert(ficimg).Select
With Selection.ShapeRange
.LockAspectRatio = False ' proportions d'origine lorsque vous la redimensionnez
.Top = Range(ad).Top ' haut de la cellule
.Left = Range(ad).Left ' gauche de la cellule
.Height = Range(ad).Height ' hauteur de la cellule
.Width = Range(ad).Width ' largeur de la cellule
End With
With Selection
.PrintObject = True ' l'objet est imprimé en même temps que le document
.Placement = xlMoveAndSize ' manière dont l'objet est lié aux cellules
End With
End If
End If
End If
Application.EnableEvents = True
End Sub