Création Base données

loutredijon

XLDnaute Nouveau
Bonsoir à tous,
j'ai créé une macro pour faire une base donnée. Je m'explique, j'ai un formulaire dans une feuille que je rempli, je clic sur le bouton de la macro et elle écrit les données dans la feuille base de données. jusque là tous va bien mais lorsque je tape de nouvelle données dans le formulaire celui ci me la transpose dans la ligne 22 de la feuille base de données et a chaque saisie il m'efface les données d'avant.
je vous joint le fichier ainsi que la macro.
Merci par avance.

Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire").Select
Range("B1:B5").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("Base de données").Select
valeurA2 = 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
'Collage avec transposition
Range("A2" & Ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
operation:=xlNone, skipblanks:=False, transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire").Select
Range("B1:B5").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
 

Pièces jointes

  • Classeur1.xls
    25.5 KB · Affichages: 84
  • Classeur1.xls
    25.5 KB · Affichages: 83
  • Classeur1.xls
    25.5 KB · Affichages: 88

loutredijon

XLDnaute Nouveau
Re : Création Base données

Bonsoir,
je te remercie de ton aide j'ai cherchée plus en profondeur dans le forum et j'ai trouvé la solution que je communique:
Dim cel As Range, plagemenu As Integer

Sub transpose_dans_tableau()
plagemenu = Feuil1.Range("A65536").End(xlUp).Row + 1
With Feuil1
.Cells(plagemenu, 1) = Feuil2.Range("B1")
.Cells(plagemenu, 2) = Feuil2.Range("B2")
.Cells(plagemenu, 3) = Feuil2.Range("B3")
.Cells(plagemenu, 4) = Feuil2.Range("B4")
.Cells(plagemenu, 5) = Feuil2.Range("B5")
End With
'Rendre vierge le formulaire
Sheets("Formulaire").Select
Range("B1:B5").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("Formulaire").Select
Range("A1").Select
End Sub

Bonne soirée et merci à toi
BERRACHED said
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal