Formulaire saisie de données - Écrase toujours la ligne malgré le code Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
S
Soph_Girl
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 19 novembre 2019
Version d'Excel : Office 365

Message par Soph_Girl » 19 novembre 2019, 18:13

Bonjour,

J'ai monté 4 formulaires de base me permettant de regrouper des données dans un tableau que je pourrais par la suite questionner. Sur 4 formulaires, 2 fonctionne très bien et 2 ne fonctionnent pas. Pourtant ils sont tous faits exactement de la même façon ?
J'ai monté le formulaire et la base de données pour qu'à chaque fois que j'ajoute un nouvel enregistrement au formulaire, il y ai une nouvelle ligne de créer dans la base de données. Mon problème est que j'arrive à entrer une ligne dans ma ba se données, une deuxième aussi. Par contre aussitôt que j'en ajoute une troisième, celle-ci écrase la deuxième...

Quelqu'un peux me donner un coup de main à régler le problème s.v.p.?

Merci à l'avance pour votre aides! :)

'*****************************************************************
'Procédure permettant d'ajouter un nouvel enregistrement
'*****************************************************************
Private Sub btnAjout_Click()

Sheets("Inspection").Activate
Range("A2").Select
Selection.End(xlDown).Select 'On se positionne sur la dernière ligne non vide
Selection.Offset(1, 0).Select 'On se décalle d'une ligne vers le bas
ActiveCell = txtDate.Value
ActiveCell.Offset(0, 1).Value = txtBT
ActiveCell.Offset(0, 2).Value = txtInfoProduit
ActiveCell.Offset(0, 3).Value = txtInfoBT
ActiveCell.Offset(0, 4).Value = txtLot
ActiveCell.Offset(0, 5).Value = cboCodagelisible1
ActiveCell.Offset(0, 6).Value = cboCodagelisible2
ActiveCell.Offset(0, 7).Value = cboCodagelisible3
ActiveCell.Offset(0, 8).Value = cboCodagebouteilleBT1
ActiveCell.Offset(0, 9).Value = cboCodagebouteilleBT2
ActiveCell.Offset(0, 10).Value = cboCodagebouteilleBT3
ActiveCell.Offset(0, 11).Value = cboCodagecaisselisible1
ActiveCell.Offset(0, 12).Value = cboCodagecaisselisible2
ActiveCell.Offset(0, 13).Value = cboCodagecaisselisible3
ActiveCell.Offset(0, 14).Value = cboCodagecaisseBT1
ActiveCell.Offset(0, 15).Value = cboCodagecaisseBT2
ActiveCell.Offset(0, 16).Value = cboCodagecaisseBT3
ActiveCell.Offset(0, 17).Value = cboBouchon1
ActiveCell.Offset(0, 18).Value = cboBouchon2
ActiveCell.Offset(0, 19).Value = cboBouchon3
ActiveCell.Offset(0, 20).Value = cboSiropbouteille1
ActiveCell.Offset(0, 21).Value = cboSiropbouteille2
ActiveCell.Offset(0, 22).Value = cboSiropbouteille3
ActiveCell.Offset(0, 23).Value = cboSiropfilets1
ActiveCell.Offset(0, 24).Value = cboSiropfilets2
ActiveCell.Offset(0, 25).Value = cboSiropfilets3
ActiveCell.Offset(0, 26).Value = cboTemperature1
ActiveCell.Offset(0, 27).Value = cboTemperature2
ActiveCell.Offset(0, 28).Value = cboTemperature3
ActiveCell.Offset(0, 29).Value = cboBPF
ActiveCell.Offset(0, 30).Value = txtDetail6
ActiveCell.Offset(0, 31).Value = cboEnvironnement
ActiveCell.Offset(0, 32).Value = txtDetail7
ActiveCell.Offset(0, 33).Value = cboFormulaireBienRempli
ActiveCell.Offset(0, 34).Value = txtDetail8
ActiveCell.Offset(0, 35).Value = txtCommentaire
ActiveCell.Offset(0, 36).Value = txtInitiale

MsgBox "L'inspection a bien été ajouté à la base de données", vbOKOnly + vbInformation, "CONFIRMATION"

End Sub
P-08-F-09B - Formulaire d'inspection - Petite Fabrication.xlsm
Celui qui fonctionne
(42.29 Kio) Téléchargé 6 fois
P-08-F-09A - Formulaire d'inspection - Embouteilleuse..xlsm
Celui qui ne fonctionne pas
(37.1 Kio) Téléchargé 7 fois
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'180
Appréciations reçues : 182
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 19 novembre 2019, 19:03

Bonjour,

Un souci, la méthode pour ajouter une ligne au tableau avant d'y inscrire les données.
Pour une autre feuille, il suffit d'adapter le nom du tableau au besoin (2 endroits)
Essai ainsi ...
Private Sub btnAjout_Click()
Dim X As Long
    
    Sheets("Inspection").Activate

    Range("TEmbouteilleuse").Select    ' <<< adapter le nom du tableau au besoin
    Selection.ListObject.ListRows.Add AlwaysInsert:=True
    X = Range("TEmbouteilleuse").Rows.Count + 2 ' <<< adapter le nom du tableau au besoin

    Cells(X, "A") = txtDate.Value
    Cells(X, "A").Offset(0, 1).Value = txtBT
    Cells(X, "A").Offset(0, 2).Value = txtInfoProduit
    Cells(X, "A").Offset(0, 3).Value = txtInfoBT
    Cells(X, "A").Offset(0, 4).Value = txtLot
    Cells(X, "A").Offset(0, 5).Value = cboCodagelisible1
    Cells(X, "A").Offset(0, 6).Value = cboCodagelisible2
    Cells(X, "A").Offset(0, 7).Value = cboCodagelisible3
    Cells(X, "A").Offset(0, 8).Value = cboCodagebouteilleBT1
    Cells(X, "A").Offset(0, 9).Value = cboCodagebouteilleBT2
    Cells(X, "A").Offset(0, 10).Value = cboCodagebouteilleBT3
    Cells(X, "A").Offset(0, 11).Value = cboCodagecaisselisible1
    Cells(X, "A").Offset(0, 12).Value = cboCodagecaisselisible2
    Cells(X, "A").Offset(0, 13).Value = cboCodagecaisselisible3
    Cells(X, "A").Offset(0, 14).Value = cboCodagecaisseBT1
    Cells(X, "A").Offset(0, 15).Value = cboCodagecaisseBT2
    Cells(X, "A").Offset(0, 16).Value = cboCodagecaisseBT3
    Cells(X, "A").Offset(0, 17).Value = cboBouchon1
    Cells(X, "A").Offset(0, 18).Value = cboBouchon2
    Cells(X, "A").Offset(0, 19).Value = cboBouchon3
    Cells(X, "A").Offset(0, 20).Value = cboSiropbouteille1
    Cells(X, "A").Offset(0, 21).Value = cboSiropbouteille2
    Cells(X, "A").Offset(0, 22).Value = cboSiropbouteille3
    Cells(X, "A").Offset(0, 23).Value = cboSiropfilets1
    Cells(X, "A").Offset(0, 24).Value = cboSiropfilets2
    Cells(X, "A").Offset(0, 25).Value = cboSiropfilets3
    Cells(X, "A").Offset(0, 26).Value = cboTemperature1
    Cells(X, "A").Offset(0, 27).Value = cboTemperature2
    Cells(X, "A").Offset(0, 28).Value = cboTemperature3
    Cells(X, "A").Offset(0, 29).Value = cboBPF
    Cells(X, "A").Offset(0, 30).Value = txtDetail6
    Cells(X, "A").Offset(0, 31).Value = cboEnvironnement
    Cells(X, "A").Offset(0, 32).Value = txtDetail7
    Cells(X, "A").Offset(0, 33).Value = cboFormulaireBienRempli
    Cells(X, "A").Offset(0, 34).Value = txtDetail8
    Cells(X, "A").Offset(0, 35).Value = txtCommentaire
    Cells(X, "A").Offset(0, 36).Value = txtInitiale
    
    MsgBox "L'inspection a bien été ajouté à la base de données", vbOKOnly + vbInformation, "CONFIRMATION"
    
End Sub





ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
S
Soph_Girl
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 19 novembre 2019
Version d'Excel : Office 365

Message par Soph_Girl » 19 novembre 2019, 20:50

Merci beaucoup !! Ça fonctionne maintenant avec votre aides !
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'180
Appréciations reçues : 182
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 19 novembre 2019, 22:36

:bv3:









ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message