Voici le code que vous pouvez mettre à la place de celui existant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 4 or Target.value = "" Then Exit Sub
Cancel = True
Dim DateRetour As String, DateReponse As String, NBRITERATION As String
NBRITERATION = InputBox("Nombre itération avec l'AIA?", "INPUTBOX")
If NBRITERATION = "" Then Exit Sub
For i = 1 To NBRITERATION
DateRetour:
DateRetour = InputBox("Date Retour occurence " & i & vbCrLf & _
"Veuillez entrer une date au format dd/mm/yyyy", "Date de retour de l'AIA")
If DateRetour <> "" And Not IsDate(DateRetour) Then
MsgBox "Veuillez saisir une date correcte au format dd/mm/yyyy": GoTo DateRetour:
ElseIf DateRetour = "" Then Exit Sub
End If
DateReponse:
DateReponse = InputBox("Date Reponse occurence " & i & vbCrLf & _
"Veuillez entrer une date au format dd/mm/yyyy", "Date de réponse de l'AIA")
If DateReponse <> "" And Not IsDate(DateReponse) Then
MsgBox "Veuillez saisir une date correcte au format dd/mm/yyyy": GoTo DateReponse:
ElseIf DateReponse = "" Then Exit Sub
End If
With Target
If i = 1 Then .Offset(0, 6) = NBRITERATION
.Offset(i, 0).EntireRow.Insert
.Offset(i - 1, 7) = CDate(DateRetour)
.Offset(i - 1, 8) = CDate(DateReponse)
End With
Next i
End Sub
Vous pouvez supprimer la macro Insertligneoccurrence que vous aviez en dessous
Le code réaffiche les deux inputbox de date suivant le nombre d'itération choisi.
J'ai ajouté une condition pour qu'il ne se passe rien si vous cliquez dans une cellule vide de la colonne 4. Exemple une itération choisie de 2 suite à un double click en D3 va vous ajouter 2 lignes. D'où D4 et D5 seront vides. Si vous double cliquez dans ces deux cellules vides, il ne se passera rien.
Faites quelques tests et dites moi