Ou est l'eurreur
domi4roues
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
domi4roues Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
domi4roues Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
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
8561
Date d'inscription
Statut
Membre
Dernière intervention
1 780
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