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
| Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean) 'PatrickToulon
'Range("I3").ClearContents 'fonctionne sans mais un 0 apparait furtivement
'Dim Rep As String ' à priori macro fonctionne sans cette ligne
'If Target.Column = 3 Then copie_target_on_I3 Target, cancel 'fonctionne et cela bloque la sélection sur toute autre colonne que C
'******************* A partir d'une ligne de code de Pierre Fauconnier, cela lance la Sub et cela bloque la sélection sur toute autre colonne que C
If Not Intersect(ActiveCell, Range("c:c")) Is Nothing Then copie_target_on_I3 Target, cancel
'Voir pour mettre un MsgBox "Sélectionner un N° de commandes" + vbQuestion, , "OUPS"
cancel = True 'bloque la sélection hors colonne C
End Sub
Sub copie_target_on_I3(CEL, cancel) 'PatrickToulon
'CEL.Copy Destination:=[I3] '"renvoie que des 0 si les 4 lignes suivantes de Selection.Copy à Application.CutCopyMode = False
'sont déselectionnées"
'Si je déselectionne CEL.Copy..... et que j'active les les 4 lignes suivantes de Selection.Copy à Application.CutCopyMode = False, la macro fonctionne
Selection.Copy
Range("I3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Rep = MsgBox("Vous allez réaliser la facture pour la commande n° : " & Range("I3"), _
vbYesNo + vbQuestion + vbDefaultButton2, _
" Demande de confirmation") ' affiche un message OUI / NON (vbYesNo)+ Icone ?
' + active bouton Non par défaut, titre du MsgBox = Demande de confirmation
If Rep = vbYes Then ' Teste si l'utilisateur a choisi le bouton Oui ?
Range("I4").Value = "Bravo" ' Si oui, alimente la cellule I4
' C'est ici que je dois mettre la macro de création de la facture
' en ayant mis un dernier message de confirmation "Attention procédure irréversible ! Etes vous certain ?"
Else ' Sinon
'MsgBox "Non." ' Affiche : Non.
Range("I4").Value = "Non" ' Si non, alimente la cellule I4
End If
End Sub |
Partager