Ou est l'eurreur
domi4roues
Messages postés
86
Statut
Membre
-
domi4roues Messages postés 86 Statut Membre -
domi4roues Messages postés 86 Statut Membre -
Bonjour est merci d'avance pour les solution
Je suis en panne d'idées je suis dans la réalisation d'un formulaire pour le pro . Je n'est rien compris en copiant bêtement un script d'une macro qui fonctionne en l'adaptent a mes besoin . Lorsque à des essais il y a un erreur 438 qui s'affiche ..... Mais je ne voix rien du coté de la base de registre Bon!
Puis il me met en jaune Selection.Offset(1, 0).seclect 'On se décale 1 ligne vers le bas ' ....! et tous ce bloque
Ces codification sont elle fausse ou c'est autres chose
encore merci de vos contributions
Je suis en panne d'idées je suis dans la réalisation d'un formulaire pour le pro . Je n'est rien compris en copiant bêtement un script d'une macro qui fonctionne en l'adaptent a mes besoin . Lorsque à des essais il y a un erreur 438 qui s'affiche ..... Mais je ne voix rien du coté de la base de registre Bon!
Puis il me met en jaune Selection.Offset(1, 0).seclect 'On se décale 1 ligne vers le bas ' ....! et tous ce bloque
Ces codification sont elle fausse ou c'est autres chose
encore merci de vos contributions
' ****************************************************
' Procédure qui permettant d'ajouter
' un nouvelle enregistrement dans la base de donné
'****************************************************
Private Sub BtnEnregistre_Click()
Sheets("BDDdemande").Activate
Range("A1").Select
Selection.End(xlDown).Select 'On se positionne dernière ligne non vide
Selection.Offset(1, 0).seclect 'On se décale 1 ligne vers le bas
ActiveCell = TextNuméroFiche.Value
ActiveCell.Offset(0, 1).Value = TextDatedemande
ActiveCell.Offset(0, 2).Value = CboBatiment
ActiveCell.Offset(0, 3).Value = CboEtage
ActiveCell.Offset(0, 4).Value = CboLieu
ActiveCell.Offset(0, 5).Value = CboCompetence
ActiveCell.Offset(0, 6).Value = CboPriorite
ActiveCell.Offset(0, 7).Value = TextTravaux
ActiveCell.Offset(0, 8).Value = TextCommantaire
ActiveCell.Offset(0, 9).Value = CboOpérateur
End Sub
3 réponses
Bonjour
Avec VBA, il ne faut pas utiliser .Select et Selection (ni ActiveCell, ActiveSheet, ... ), sauf quand c'est indispensable, c'est-à-dire quasiment jamais !
Essaies :
Avec VBA, il ne faut pas utiliser .Select et Selection (ni ActiveCell, ActiveSheet, ... ), sauf quand c'est indispensable, c'est-à-dire quasiment jamais !
Essaies :
' ****************************************************
' Procédure qui permettant d'ajouter
' un nouvelle enregistrement dans la base de donné
'****************************************************
Private Sub BtnEnregistre_Click()
With Worksheets("BDDdemande")
With .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
.Value = TextNuméroFiche.Value
.Offset(0, 1).Value = TextDatedemande
.Offset(0, 2).Value = CboBatiment
.Offset(0, 3).Value = CboEtage
.Offset(0, 4).Value = CboLieu
.Offset(0, 5).Value = CboCompetence
.Offset(0, 6).Value = CboPriorite
.Offset(0, 7).Value = TextTravaux
.Offset(0, 8).Value = TextCommantaire
.Offset(0, 9).Value = CboOpérateur
End With
End With
End Sub
Patrice33740
Messages postés
8930
Statut
Membre
1 781
PS : c'est pour ça que je préfère ne pas dire où se trouve l'erreur
Bonjour Domi, bonjour le forum,
J'ai comme l'impression que la colonne A est vide. Du coup la dernière ligne non vide correspond à la dernière ligne de l'onglet et donc le décalage d'une ligne vers le bas génère une erreur car on est déjà à la dernière ligne... Évite les Select inutiles, il ne font que ralentir l'exécution du code !...
Essaie comme ça :
J'ai comme l'impression que la colonne A est vide. Du coup la dernière ligne non vide correspond à la dernière ligne de l'onglet et donc le décalage d'une ligne vers le bas génère une erreur car on est déjà à la dernière ligne... Évite les Select inutiles, il ne font que ralentir l'exécution du code !...
Essaie comme ça :
Private Sub BtnEnregistre_Click()
Dim O As Worksheet
Dim PLV As Integer
Set O = Sheets("BDDdemande")
PLV = O.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1
O.Cells(PLV, 1) = TextNuméroFiche.Value
O.Cells(PLV, 2).Value = TextDatedemande
O.Cells(PLV, 3).Value = CboBatiment
O.Cells(PLV, 4).Value = CboEtage
O.Cells(PLV, 5).Value = CboLieu
O.Cells(PLV, 6).Value = CboCompetence
O.Cells(PLV, 7).Value = CboPriorite
O.Cells(PLV, 8) = TextTravaux
O.Cells(PLV, 9) = TextCommantaire
O.Cells(PLV, 10) = CboOpérateur
End Sub