VBA : Enregistrement de données à suivre dans une base
Résolu
xi9800
-
xi9800 -
xi9800 -
Bonjour,
Ayant cherché, mais n'ayant pas trouvé de discussion similaire (ou alors je mis prends mal), je poste mon soucis.
Je suis actuellement entrain de créer un formulaire avec un bouton d'enregistrement qui permet aux données d'être sauvegarder dans une base.
Pour créer ce formulaire, je me suis basé sur le tutorial de ce site : http://www.01net.com/editorial/273366/construisez-une-base-de-donnees-avec-excel/
Le seul soucis rencontré : lorsque j'enregistre mes données, celles-ci ne se colle pas à suivre dans la base. Les données se recolle les unes sur les autres dans la ligne 2.
Voici le code :
En vous remerciant d'avance pour vos réponses.
Ayant cherché, mais n'ayant pas trouvé de discussion similaire (ou alors je mis prends mal), je poste mon soucis.
Je suis actuellement entrain de créer un formulaire avec un bouton d'enregistrement qui permet aux données d'être sauvegarder dans une base.
Pour créer ce formulaire, je me suis basé sur le tutorial de ce site : http://www.01net.com/editorial/273366/construisez-une-base-de-donnees-avec-excel/
Le seul soucis rencontré : lorsque j'enregistre mes données, celles-ci ne se colle pas à suivre dans la base. Les données se recolle les unes sur les autres dans la ligne 2.
Voici le code :
Sub saisie() 'Atteindre le formulaire et mémoriser les données Sheets("Formulaire").Select Range("B1:B6").Select Selection.Copy 'Test pour déterminer la ligne où coller les données Sheets("Base").Select valeursA2 = Range("A2").Value If valeurA2 = "" Then Range("A2").Select Else Range("A1").Select Selection.End(xlDown).Select ligne_active_base = ActiveCell.Row Range("A" & ligne_active_base + 1).Select End If 'Mémoriser le n° de la ligne où coller les données lignes_active_base = ActiveCell.Row 'Collage avec transposition Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=True 'Rendre vierge le formulaire Sheets("Formulaire").Select Range("B1:B6").Select Selection.ClearContents Range("B1").Select 'Retourner dans le tableau Sheets("Base").Select Range("A1").Select End Sub
En vous remerciant d'avance pour vos réponses.
A voir également:
- VBA : Enregistrement de données à suivre dans une base
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
2 réponses
Bonjour,
Un peu plus court,
Un peu plus court,
Sub saisie() With Sheets("Base") 'premiere ligne vide colonne A (A1: titre colonne) plva = .Range("A" & Rows.Count).End(xlUp).Row + 1 .Range("A" & plva & ":F" & plva) = Application.Transpose(Sheets("Formulaire").Range("B1:B6")) End With 'Rendre vierge le formulaire Sheets("Formulaire").Range("B1:B6").ClearContents End Sub