Macro saisie sur nouvelle ligne vide
GeManMarg
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite partir d’un formulaire (onglet 1) (nom, prénom, date de naissance…)
Sur l’onglet suivant (2) je voudrais que, en cliquant sur un bouton, les informations saisies sur le formulaire (onglet 1) se copient sur l’onglet 2, sur une seule ligne (ligne2) et effaçant la saisie du formulaire (onglet1) qui redevient vierge…. Jusque-là je sais faire….fichier PJ en exemple
Là où je me perds, c’est que j’aimerais que, a la saisie d’une nouvelle fiche, les informations aillent sur une nouvelle ligne (ligne3) puis sur la ligne 4 a la nouvelle fiche, puis la 5 …….a l’infini
Je souhaite partir d’un formulaire (onglet 1) (nom, prénom, date de naissance…)
Sur l’onglet suivant (2) je voudrais que, en cliquant sur un bouton, les informations saisies sur le formulaire (onglet 1) se copient sur l’onglet 2, sur une seule ligne (ligne2) et effaçant la saisie du formulaire (onglet1) qui redevient vierge…. Jusque-là je sais faire….fichier PJ en exemple
Là où je me perds, c’est que j’aimerais que, a la saisie d’une nouvelle fiche, les informations aillent sur une nouvelle ligne (ligne3) puis sur la ligne 4 a la nouvelle fiche, puis la 5 …….a l’infini
A voir également:
- Macro saisie sur nouvelle ligne vide
- Darkino nouvelle adresse - Guide
- Comment supprimer une page vide sur word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Partager photos en ligne - Guide
- Extreme download nouvelle adresse - Accueil - Outils
5 réponses
Bonjour,
il faut trouver la dernière ligne utilisée et ajouter +1 pour la1ère ligne vide:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
il faut trouver la dernière ligne utilisée et ajouter +1 pour la1ère ligne vide:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
Merci mais en fait je ne sais pas a quel endroit saisir la ligne de code:
("A" & Rows.count).End(xlUp).Row + 1
pour que lors de la saisie de la fiche suivante je commence bien à la nouvelle ligne vide.
Ci dessous le code que j'utilise:
Sub Macro1()
'
' Macro1 Macro
' test1
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
Columns("B:B").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
("A" & Rows.count).End(xlUp).Row + 1
pour que lors de la saisie de la fiche suivante je commence bien à la nouvelle ligne vide.
Ci dessous le code que j'utilise:
Sub Macro1()
'
' Macro1 Macro
' test1
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
Columns("B:B").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
comme ceci:
Voilà
@+
Option Explicit Sub copie() Dim ligne As Integer ligne = Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row + 1 Worksheets("form").Range("B1:B3").Copy Worksheets("liste").Range("A" & ligne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Worksheets("form").Range("B1:B3").ClearContents End Sub
Voilà
@+
apparemment j'ai un bug avec la formule +1 de la ligne: Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row + 1
si j'insère la ligne: Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row + 1 là ou elle est ci dessous ( 4eme ligne) j'ai un message d'erreur : erreur d'execution 438
si je clique sur le débogueur la ligne: Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row 1 apparait en jaune et le '+' a disparu
Sub Macro3()
'
' Macro3 Macro
' test 3
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row 1
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B1:B4").Select
Application.CutCopyMode = False
Selection.ClearContents
si je clique sur le débogueur la ligne: Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row 1 apparait en jaune et le '+' a disparu
Sub Macro3()
'
' Macro3 Macro
' test 3
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Worksheets("liste").Range("A" & Rows.Count).End(xlUp).Row 1
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B1:B4").Select
Application.CutCopyMode = False
Selection.ClearContents
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Là je suis largué ...
j'ai fait une macro pour que, à partir d'un onglet qui va servir de base de donnée, les éléments saisis se reportent sur un autre onglet (tableur). Ce que je souhaite, c'est que, à la validation via un bouton, les infos saisies se positionnent dans le tableur, sur la ligne en dessous de la dernière ligne saisie et ainsi de suite.
Ci dessous le code que j'utilise via ma macro, il permet de transférer les infos sur le tableur, mais a la fiche suivante, il écrase les infos de la précédente.
Sub Macro3()
'
' Macro3 Macro
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
End Sub
Là je suis largué ...
j'ai fait une macro pour que, à partir d'un onglet qui va servir de base de donnée, les éléments saisis se reportent sur un autre onglet (tableur). Ce que je souhaite, c'est que, à la validation via un bouton, les infos saisies se positionnent dans le tableur, sur la ligne en dessous de la dernière ligne saisie et ainsi de suite.
Ci dessous le code que j'utilise via ma macro, il permet de transférer les infos sur le tableur, mais a la fiche suivante, il écrase les infos de la précédente.
Sub Macro3()
'
' Macro3 Macro
'
'
Range("B1").Select
Selection.Copy
Sheets("liste").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("form").Select
Range("B4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("liste").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("form").Select
End Sub