Bonjour,
Une Msgbox ne permet aucune saisie, elle affiche simplement un message à l'utilisateur.
Pour permettre la saisie, il faut soit utiliser une InputBox, soit pour un outil plus complet, un UserForm contenant par exemple des TextBox.
Une suggestion pour la deuxième macro :
Sub DemandeNbreLigne()
Dim nb As Integer, i As Integer, Lig As Long
nb = Application.InputBox("Combien de ligne voulez vous ? ", Type:=1)
For i = 1 To nb
Inser
Next i
If nb = 1 Then
Lig = Selection.Row + 1
Range("A" & Lig) = Application.InputBox("Identifiant du document", "Doc_ID", Type:=2)
Range("B" & Lig) = Application.InputBox("Titre du document", "Title / Contents", Type:=2)
Range("C" & Lig) = Application.InputBox("Référence", "Ref", Type:=2)
Range("D" & Lig) = Application.InputBox("Version du document", "Ref. Version", Type:=2)
End If
End Sub
L'argument Type de l'InputBox sert à restreindre le type de donnée acceptée à la saisie (1 pour une valeur numérique par exemple). Ce qui évite une gestion des erreurs comme vous l'aviez imaginé.