Excel Ajout données avec un formulaire

fresnais

XLDnaute Nouveau
Bonjour à tous

J'aurais besoin d'un petit coup SVP
J'ai créé Une feuille Excel "BIR_2019" ainsi qu'un formulaire de saisie Formulaire_Geometre
mais celui-ci ne passe pas à la ligne suivante après avoir ajouté des données
J'ai surement oublié un petit quelque chose dans la partie du formulaire ajout de donné
 

Pièces jointes

  • BIR_Suivi_18012019 .xlsm
    1.6 MB · Affichages: 33

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Fresnais, bonjour le forum,

Vite fait sans tester...

VB:
Private Sub btnAjout_Click()
Dim O As Worksheet
Dim DEST As Range
Set O = Worksheets("BIR_2019").Activate
If O.Range("A5") = "" Then Set DEST = O.Range("A5") Else Set DEST = O.Range("A4").End(xlDown).Offset(1, 0)
DEST.Value = CboNomClient.Value
DEST.Offset(0, 1).Value = TxtRefClient
DEST.Offset(0, 6).Value = TxtOT
DEST.Offset(0, 7).Value = TxtBDD
DEST.Offset(0, 2).Value = TxtAdresse
DEST.Offset(0, 3).Value = CboVilleCodePostal
DEST.Offset(0, 12).Value = CboConducteursTravaux
DEST.Offset(0, 15).Value = CboEntreprises
DEST.Offset(0, 16).Value = CboNomsPrenomsEntreprises
DEST.Offset(0, 13).Value = CboGeometre
DEST.Offset(0, 14).Value = CboCartographes
DEST.Offset(0, 18).Value = TxtDateInterventionTerrain
DEST.Offset(0, 17).Value = CboMaterielsTopo
DEST.Offset(0, 19).Value = TxtPrecision2D
DEST.Offset(0, 20).Value = TxtPrecision3D
End Sub

[Édition] J'ai édité en lisant la solution de D.D
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

@chris
Attention ! sur un tableau de type ListObject cela renvoie la dernière ligne du tableau, pas la dernière ligne éditée de la colonne. Par exemple, sur un tableau 5 colonnes, 30 lignes dont 15 lignes à peine sont remplies. Le code va renvoyer la ligne 31 et pas la ligne 16...
 

chris

XLDnaute Barbatruc
Bonjour à tous
Re,

@chris
Attention ! sur un tableau de type ListObject cela renvoie la dernière ligne du tableau, pas la dernière ligne éditée de la colonne. Par exemple, sur un tableau 5 colonnes, 30 lignes dont 15 lignes à peine sont remplies. Le code va renvoyer la ligne 31 et pas la ligne 16...

Pour ma part je n'ai pas donné de code... C'est chris24

Pour ma part en VBA je préfère coder avec le possibilités des listobjects pas selon les ranges anciens...

De même qu'en BD on ne crée pas d'enregistrements vides, dans un tableau structuré ou Table, on ne crée par de lignes vides sinon le tableau perd 99% de son utilité...
 

D.D.

XLDnaute Impliqué
En fait le problème venait aussi du tableau de type ListObject.
Le code suivant
Sheets("BIR_2019").Activate
Range("A1").Select
Selection.End(xlDown).Select ' on se positionne sur la dernière ligne non vide

nous amene non pas à la dernière ligne non vide mais au début du tableau ListObject.

D'ou le fait le mettre le range("A4") oblige déjà à se placer au début du tableau
et le Selection.End(xlDown).Select force ensuite à se déplacer dans le tableau.

S'il n'y avait pas eu un tableau du type ListObject, le code aurait bien fonctionné.
 

cp4

XLDnaute Barbatruc

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T