Macro VBA

Fermé
kabamba - 5 août 2019 à 13:03
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 12 août 2019 à 15:37
Bonjour,
Je suis nouveau en VBA, j'ai une feuille que j'ai nommée formulaire, une deuxième feuille j'ai nommée base, j'ai alors crée une macro qui copie les données de la feuille formulaire pour coller sur la feuille base, mais je n'arrive pas à faire la suite c'est à dire deuxième donnée pour coller sur la ligne suivante ainsi de suite.
Veuillez m'aider SVP


Configuration: Windows / Chrome 75.0.3770.142
A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
5 août 2019 à 14:01
Bonjour Kabamba, bonjour le forum

Il te faut copier sur la première ligne vide de la base avec un code de ce type :
Dim OF as Worksheet 'déclare la variable OF (Onglet Formulaire)
Dim OB as Worksheet 'déclare la variable OB (Onglet Base)
Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide)

Set OF = Worksheets("Formulaire") 'définit l'onglet formulaire OF
set OB = Worksheets("Base")'définit l'onglet base OB
PLV = OB.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la première ligne vide PLV de la colonne A de l'onglet Base
'ensuite tes copier coller avec la syntaxe  Onglet_Source.Plage_Souce.Copy Onglet_Destination.Cellule_Destination :
OF.range("A2").Copy OB.Cells(LI, 1)
'etc...

0
kabambad Messages postés 1 Date d'inscription lundi 5 août 2019 Statut Membre Dernière intervention 5 août 2019
5 août 2019 à 17:21
Merci pour la réponse que vous m'avez réservée, néanmoins il y a encore un petit soucis peut être par rapport à mon explication,
Dans l'onglet "Formulaire", je voudrais que la commande (macro) me copie la plage A7:H7 pour coller dans l'onglet "Base" à partir de la cellule A3, puis m'effacer les champs du formulaire afin de permettre une nouvelle saisie. Et la nouvelle saisie après validation doit venir se coller à partir de la cellule A4 ainsi de suite

Aidez moi SVP,

Sub dina()

Dim OF As Worksheet 'déclare la variable OF (Onglet Formulaire)
Dim OB As Worksheet 'déclare la variable OB (Onglet Base)
Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide

Set OF = Worksheets("Formulaire") 'définit l'onglet formulaire OF
Set OB = Worksheets("Base") 'définit l'onglet base OB
PLV = OB.Cells(Application.Rows.Count, "A3").End(xlUp).Row + 1 'définit la première ligne vide PLV de la colonne A de l'onglet Base
'ensuite tes copier coller avec la syntaxe Onglet_Source.Plage_Souce.Copy Onglet_Destination.Cellule_Destination :
OF.Range("A7:H7").Copy OB.Cells(LI, 1)

End Sub
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
12 août 2019 à 15:37
Essaie comme ça :
Sub dina()

Dim OF As Worksheet 'déclare la variable OF (Onglet Formulaire)
Dim OB As Worksheet 'déclare la variable OB (Onglet Base)
Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide

Set OF = Worksheets("Formulaire") 'définit l'onglet formulaire OF
Set OB = Worksheets("Base") 'définit l'onglet base OB
'définit la première ligne vide PLV de la colonne A de l'onglet Base
'(ligne 3 si A3 est vide, sinon la première ligne vide de la colonne A de l'onglet OB)
PLV = IIf(OB.Range("A3").Value = "", 3, OB.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1)
OF.Range("A7:H7").Copy OB.Cells(LI, 1)
End Sub

0