Macro VBA

kabamba -  
ThauTheme Messages postés 1564 Statut Membre -
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

2 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    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
    1. kabambad Messages postés 1 Statut Membre
       
      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
  2. ThauTheme Messages postés 1564 Statut Membre 160
     
    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