XL 2010 insertion dans un tableau par inputbox

  • Initiateur de la discussion Initiateur de la discussion korobo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

korobo

XLDnaute Nouveau
Bonjour à tous,

Je voudrais faire une macro excel qui permet d'ajouter une nouvelle ligne à un tableau . Je suis débutant en vba. Dans mon tableau j'ai 4 colonnes en entete: Numero material, Material description, date, et numero inventaire.J'ai essayé de codé quelque chose mais qui ne marche pas très bien . Quand j'insère une nouvelle ligne elle se met en première ligne, puis quand j'en insère une autre la nouvelle écrase la ligne précédemment insérée. J'ai deux feuilles dans mon classeur, sur l'une j'ai mit un bouton qui permet d'appeler un inputbox qui permet l'insertion des données. Quand j'appuie sur le bouton, il y'a un premier inputbox qui apparait et qui me permet de saisir un Numero de material, puis un second un Material description, et enfin un troisieme un numero d'inventaire. Je voudrais pouvoir insérer autant de ligne que je veux, et que à partir du Numero material les lignes soient triés dans l'ordre dans mon tableau. Je ne sais pas si je suis assez explicite. Merci pour votre aide.
 

Pièces jointes

Re : insertion dans un tableau par inputbox

Bonjour,

Tu écris en ligne 2 et ensuite tu insères une ligne : c'est normal que ça écrase les données. Il faut d'abord insérer et ensuite écrire
Moi, j'aurais écris dans cet ordre :
Code:
  'insertion d'un nouveau code sur la feuille mb52 inventaire
  mat = InputBox("Veuillez saisir la reference", Title:="Ajout d'un nouveau code")
  If mat = "" Then Exit Sub
  matdesc = InputBox("Veuillez saisir la description", Title:="Ajout d'un nouveau code")
  If matdesc = "" Then Exit Sub
  numinv = InputBox("Veuillez saisir le numéro d'inventaire", Title:="Ajout d'un nouveau code")
  Call insertion
  Worksheets("MB52 inventaire 2015").Cells(2, 1).Value = mat
  Worksheets("MB52 inventaire 2015").Cells(2, 2).Value = matdesc
  Worksheets("MB52 inventaire 2015").Cells(2, 4).Value = numinv
  Call tri
Caillou
 
Re : insertion dans un tableau par inputbox

Bonjour Caillou effectivement tu avais raison. Merci de m'avoir répondu. Il reste juste un hic. A chaque fois que j'ajoute un nouveau code(quand je clique sur le bouton le bouton situé sur l'autre feuille) et qui permet d’appeler le inputbox descend d'un cran. Comment remédier à ça?
 
Re : insertion dans un tableau par inputbox

Re,

Il faut spécifier le nom des feuilles dans le code, en ajoutant les 2 lignes ci-dessous en gras
Sub nouveaucode()
Dim mat As String
Dim matdesc As String
Dim numinv As Integer

'insertion d'un nouveau code sur la feuille mb52 inventaire
mat = InputBox("Veuillez saisir la reference", Title:="Ajout d'un nouveau code")
If mat = "" Then Exit Sub
matdesc = InputBox("Veuillez saisir la description", Title:="Ajout d'un nouveau code")
If matdesc = "" Then Exit Sub
numinv = InputBox("Veuillez saisir le numéro d'inventaire", Title:="Ajout d'un nouveau code")
Call insertion
Worksheets("MB52 inventaire 2015").Cells(2, 1).Value = mat
Worksheets("MB52 inventaire 2015").Cells(2, 2).Value = matdesc
Worksheets("MB52 inventaire 2015").Cells(2, 4).Value = numinv
Call tri
Sheets("Formulaire").Select
End Sub

'
'insertion d'une nouvelle ligne
'
Sub insertion()
Sheets("MB52 inventaire 2015").Select
Rows("2:2").Select
Selection.Insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Font.Bold = False
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour