Bonsoir
Deux méthodes
La plus "propre" mais la plus dangereuse
C'est la désactivation des évènements ( en cas de plantage : Solution -->Sauvegarder, Quitter puis recharger le programme, ou avoir une macro pour réinitialiser les évènements)
style
Sub Retablit()
Application.EnableEvents = True
End Sub
Ton code avec cette solution
Sub Bouton1_Clic()
'
'
' Consultation_nouvelle_Consult Macro
' Dim temp
Application.EnableEvents = False
If MsgBox("Voulez vous créer?", 36, "Nouveau") = vbYes Then
.
.
End If
Application.EnableEvents = True
End Sub
Autre méthode moins "dangereuse"
définir un verrou pour éviter que la macro Worksheet_Change s'exécute
ton code avec ce verrou
Public Non As Boolean ' Déclaration du verrou
Sub Bouton1_Clic()
'
'
' Consultation_nouvelle_Consult Macro
' Dim temp
Non =true
If MsgBox("Voulez vous créer?", 36, "Nouveau") = vbYes Then
.
.
End If
Non = False
End Sub
et au début du code Worksheet_Change
mettre
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet (janvier)
Dim li As Integer 'déclare la variable li
Dim dest As Range 'déclare la variable dest
If Non = True Then Exit Sub
Voilà je pense que c'est ce que tu voulais
Bonne soirée