Ajouter des données en dernière ligne

Bonjour à tous,

Je cherche à réaliser une base de données simple de contacts. Comme beaucoup vous me direz Seulement étant novice dans le VBA je rencontre un petit problème lors de l'enregistrement de ma saisie.

J'ai réalisé un premier formulaire de saisie me permettant de créer les lignes contact dans un tableau. J'y ai placé plusieurs boutons de commande :

Ajouter le contact / Afficher la base de données / Rechercher / Réinitialiser la fiche

Lorsque je saisis puis souhaite ajouter le 1er contact, il s'inscrit bien dans la ligne 11 comme voulu. Seulement lorsque je souhaite en enregistrer un second, celui-ci vient prendre la place du premier au lieu de venir se positionner sur la ligne du dessous (12) et ainsi de suite.

J'ai cru pourtant bien donner les instructions comme suit:

Private Sub btnAjouterContact_Click()

Sheets("pige").Activate 'Demande d'activation de la feuille "Pige"

Range("c1").Select 'Position sur la cellule C1

Selection.End(xlDown).Select 'Position sur la dernière cellule non vide de la colonne (ici la colonne "c")

ActiveCell.Offset(1, 0).Select 'Décalage d'une ligne vers le bas

ActiveCell = cboÉtatduContact.Value

ActiveCell.Offset(o, 1).Value = txtPrénom

ActiveCell.Offset(o, 2).Value = txtNom

ActiveCell.Offset(o, 3).Value = txtTéléphone1

ActiveCell.Offset(o, 4).Value = TxtTéléphone2

ActiveCell.Offset(o, 5).Value = txtMail

ActiveCell.Offset(o, 6).Value = txtMail2

ActiveCell.Offset(o, 7).Value = txtNuméroRueProprio

ActiveCell.Offset(o, 8).Value = txtRueProprio

ActiveCell.Offset(o, 9).Value = txtComplément

ActiveCell.Offset(o, 10).Value = txtCP

ActiveCell.Offset(o, 11).Value = txtVilleProprio

ActiveCell.Offset(o, 12).Value = txtCirconstanceContact

ActiveCell.Offset(o, 13).Value = cboOrigine

ActiveCell.Offset(o, 14).Value = txtNuméroRue

ActiveCell.Offset(o, 15).Value = txtRueImmeuble

ActiveCell.Offset(o, 16).Value = cboSecteurs

ActiveCell.Offset(o, 17).Value = cboVilleImmeuble

ActiveCell.Offset(o, 18).Value = cboCatégorie

ActiveCell.Offset(o, 19).Value = cboTypologie

ActiveCell.Offset(o, 20).Value = cboNbdeLots

ActiveCell.Offset(o, 21).Value = cboNbPk

ActiveCell.Offset(o, 22).Value = cboTypedePk

ActiveCell.Offset(o, 23).Value = TxtSurface

ActiveCell.Offset(o, 24).Value = cboEtatGénéralduBien

ActiveCell.Offset(o, 25).Value = txtPrixEstimé

ActiveCell.Offset(o, 26).Value = cboStatutduBien

ActiveCell.Offset(o, 27).Value = txtPrixVendu

ActiveCell.Offset(o, 28).Value = txtDateStep1

ActiveCell.Offset(o, 29).Value = txtDétailsRDVStep1

ActiveCell.Offset(o, 30).Value = cboRésultatStep1

ActiveCell.Offset(o, 31).Value = txtDateStep2

ActiveCell.Offset(o, 32).Value = txtDétailsRDVStep2

ActiveCell.Offset(o, 33).Value = cboRésultatStep2

ActiveCell.Offset(o, 34).Value = txtDateStep3

ActiveCell.Offset(o, 35).Value = txtDétailsRDVStep3

ActiveCell.Offset(o, 36).Value = cboRésultatStep3

ActiveCell.Offset(o, 37).Value = txtDateStep4

ActiveCell.Offset(o, 38).Value = txtDétailsRDVStep4

ActiveCell.Offset(o, 39).Value = cboRésultatStep4

ActiveCell.Offset(o, 40).Value = txtDateStep5

ActiveCell.Offset(o, 41).Value = txtDétailsRDVStep5

ActiveCell.Offset(o, 42).Value = cboRésultatStep5

ActiveCell.Offset(o, 43).Value = txtDateStep6

ActiveCell.Offset(o, 44).Value = txtDétailsRDVStep6

ActiveCell.Offset(o, 45).Value = cboRésultatStep6

ActiveCell.Offset(o, 46).Value = txtDateStep7

ActiveCell.Offset(o, 47).Value = txtDétailsRDVStep7

ActiveCell.Offset(o, 48).Value = cboRésultatStep7

End Sub

Pourriez-vous m'éclairer sur mon oubli ou carrément j'ai peut-être fait fausse route. Je vous met le fichier en pièce jointe pour aider.

Merci pour votre soutien et votre aide.

Je suis dessus depuis quelques temps maintenant (jours) en ayant essayé différentes choses et j'avoue que j'en perds mon latin..

Merci pour votre retour et votre solidarité avec un petit scarabée du vba.

A très vite!

Bonjour,

tu dois commencer par trouver la dernière cellule occupée en "C"

Private Sub btnAjouterContact_Click()
Dim Lastr&
Sheets("pige").Activate                'Demande d'activation de la feuille "Pige"
Lastr = Sheets("pige").Cells.Find("*", [C1], SearchDirection:=xlPrevious).Row +1 
'Range("c1").Select                     'Position sur la cellule C1
'Selection.End(xlDown).Select           'Position sur la dernière cellule non vide de la colonne (ici la colonne "c")
'ActiveCell.Offset(1, 0).Select          'Décalage d'une ligne vers le bas
'ActiveCell = cboÉtatduContact.Value

Cells(Lastr , 3) = cboÉtatduContact.Value
Cells(Lastr, 4).Value = txtPrénom
Cells(Lastr, 5).Value = txtNom
Cells(Lastr, 6).Value = txtTéléphone1
etc etc...

P.

Bonjour Patrick1957,

Merci pour ton aide précieuse, cela fonctionne effectivement. Petite question supplémentaire, j'ai prévu dans la feuille pige un tableau qui puisse utiliser des filtres, seulement lorsque je les active après avoir empli des lignes, il n'y a que le premier enregistrement qui est pris en compte pour le filtrage.

As-tu une idée d'où je peux débloquer cette option?

Merci Bcp en tout cas pour ta première réponse.

Tu as protégé ta feuille , je ne sais pas tester

P.

Voilà le fichier dévérouillé, désolé.

re,

Après avoir encodé durectement 4-5 lignes sur l'une ou l'autre colonne, j'ai enlevé (et puis remis) le "tableau" par une conversion en plage, j'ai fais "CTRL" + "*" pour voir quelle est l'étendue de la plage et "CTRL" + "." pour aller aux 4 coins et là j'ai vu qu'il y 2 colonnes inutiles.

Je les ai effacées (il y avait peut être des caractères invisibles).

J'ai alors remis un tableau par Insertion/Tableau et j'ai remis le filtre et ça fonctionne !

P.

re,

Après avoir encodé durectement 4-5 lignes sur l'une ou l'autre colonne, j'ai enlevé (et puis remis) le "tableau" (étape facultaive) par une conversion en plage, j'ai fais "CTRL" + "*" pour voir quelle est l'étendue de la plage et "CTRL" + "." pour aller aux 4 coins et là j'ai vu qu'il y 2 colonnes inutiles.

Je les ai effacées (il y avait peut être des caractères invisibles).

J'ai alors remis un tableau par Insertion/Tableau et j'ai remis le filtre et ça fonctionne !

P.

Nickel!!!!

Merci Patrick 1957!! C'est super d'avoir du soutien comme celui-ci et une belle réactivité. (je le suis un peu moins car encore en tâtonnement sur excel).

Merci encore pour ce coup de pouce je me remet en quête pour finir ce petit module. Si besoin puis-je frapper à ta porte?

Bien à toi!

Rechercher des sujets similaires à "ajouter donnees derniere ligne"