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
- Find vba - Astuces et Solutions
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Incompatibilité de type 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