Formulaire/Base de données

matnav

XLDnaute Nouveau
Bonjour ;
Je veux réaliser une base de données sur excel avec un formulaire de saisie.
N’y connaissant rien en VBA, j’ai copié collé un code trouvé sur internet. J’ai adapté les intitulés de cellules, feuilles etc. à mon fichier Excel.
Finalement cela ne fonctionne qu’en partie : Les données saisies dans le formulaire s’enregistrent dans ma base de données sur la dernière ligne cliquée dans la feuille et non sur la première ligne vierge du tableau comme l’annonçait le type qui a posté le code que j’ai utilisé.
Si quelqu’un peut jeter un coup d’œil su mes lignes de code, ça serait super sympa parce que je ne m’en sors plus !

Quelques explications :
Feuille de formulaire : « Saisie »
Feuille de base de données : « Plandaction »

Cellules de saisie dans mon formulaire : C11 à C16
Colonnes devant être remplies dans la base de données : A à G (à partir de la ligne 3)

Et voici mon code :

Sub SAISIEAUTOTABLEAU()
'Atteindre la Saisie et mémoriser les données
Sheets("Saisie").Select
Range("C11:C16").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("Plandaction").Select
valeurA3 = Range("A3").Value
If valeurA3 = "" Then
Range("A3").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
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Saisie").Select
Range("C11:C16").Select
Selection.ClearContents
Range("C11").Select
'Retourner dans le tableau
Sheets("Plandaction").Select
Range("A2").Select
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Re : Formulaire/Base de données

Salut Batnav,
Voici mais je n'ai pas testé alors . . .
J'ai mis une apostophe au If et end if (à voir)
Bruno

Code:
Sub SAISIEAUTOTABLEAU()
Sheets("Saisie").Range("C11:C16").Copy
'If Sheets("Plandaction").[A3] = "" Then
lig = Sheets("Plandaction").[A3].End(3).Row + 1
Sheets("Plandaction").Range("A" & lig).PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'End If
'Rendre vierge le formulaire
Sheets("Saisie").Range("C11:C16").ClearContents
'Retourner dans le tableau
Sheets("Plandaction").Select
Range("A2").Select
End Sub
 

kjin

XLDnaute Barbatruc
Re : Formulaire/Base de données

Bonjour,
vous vous êtes passé l'adresse !
pb-range-select
Code:
Sub SAISIEAUTOTABLEAU()
Dim Tablo, dl As Long
Tablo = Range("C11:C16").Value
With Sheets("Plandaction")
    dl = .Range("A60000").End(xlUp).Row + 1
    .Range(.Cells(dl, 1), .Cells(dl, UBound(Tablo))) = Application.Transpose(Tablo)
End With
Range("C11:C16").ClearContents
End Sub
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo