IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Formulaire de saisie.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Par défaut [VBA-E] Formulaire de saisie.
    Bonjour,

    Je me suis decidé à faire un formulaire de saisie pour le listing de ma mère.
    Mais j'ai un petit soucis.
    Il me sort une erreur 1004 'erreur définie par l'application ou par l'objet'

    VB est vraiment pas mon truc, donc je suis un peu largué.
    En cliquant sur Debogage, il me surligne ca:
    ActiveCell.Offset(1, 0).Range("A1").Select

    Si je remplace par: "ActiveCell.Offset(0, 0).Range("A1").Select" tout marche mais le formulaire saisit dans la derniere ligne du listing (65xxx) et si je le relance, il me ressaisit dans la meme ligne et ecrase la precedente.

    En modifiant le 2eme zeros, on modifie la colonne d'origine donc le premier 0 devrait etre la ligne, pourquoi il n'accepte pas la ligne 1 ?

    Code complet du module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub Saisie()
    Range("A2").Select: Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    With Frmtest
    .Show
    End With
    End Sub
    Code complet du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Private Sub BtnAnnuler_Click()
    Unload Me
    End Sub
     
    Private Sub BtnOK_Click()
    With ActiveCell
    If OptHomme Then .Offset(0, 0).Value = "M."
    If OptFemme Then .Offset(0, 0).Value = "Mme."
    If OptJeune Then .Offset(0, 0).Value = "Mlle."
    .Offset(0, 1).Value = UCase(TxtNom)
    .Offset(0, 2).Value = TxtPrenom
    .Offset(0, 3).Value = TxtAdresse
    If OptCogolin Then .Offset(0, 4).Value = "83310  -  Cogolin"
    If OptGrimaud Then .Offset(0, 4).Value = "83310  -  Grimaud"
    If OptMole Then .Offset(0, 4).Value = "83310  -  La Mole"
    If OptTropez Then .Offset(0, 4).Value = "83990  -  Saint-Tropez"
    If OptCavalaire Then .Offset(0, 4).Value = "83240  -  Cavalaire"
    End With
    Unload Me
    End Sub
    Si quelqu'un peut m'aider, ca serait sympa.

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Essaie de remplacer le code du module par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Saisie()
    Range("A2").Select: Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    With Frmtest
    .Show
    End With
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Par défaut
    Citation Envoyé par Vesta
    Essaie de remplacer le code du module par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Saisie()
    Range("A2").Select: Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    With Frmtest
    .Show
    End With
    End Sub
    Malheuresement, toujours pareil, erreur 1004 au meme endroit.

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Chez moi ca marche bien... Je ne comprend pas... joint peu etre le fichier pour voir...

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Par défaut
    Voilà:
    ...

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Compris maintenant..;

    Tu demande a excell de se placer en A2 ensuite de descendre a la fin de la selection. Si A2 est vide, alors il va a la fin et si il est a la fin, il ne peut plus descendre plus bas. Tandisque si tu met a la place de A2, A1 il prend la ligne avec l'entete des colonnes et va descendre jusqu'a ne plus rencontrer de valeurs. Cependant comme 12 est vide, il va quand meme descendre tout en bas. A ce moment, il poura descendre d'encore une et ecrire des valeurs...

    fais plus simple tu selectionne la zone remplie, qui contient X lignes et tu commence a écrire la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Saisie()
    Feuil1.Cells(Range("A1").CurrentRegion.Rows.Count + 1, 1).Select
    With Frmtest
    .Show
    End With
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire de saisie en VBA, procédure trop longue
    Par Karine2014 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 16/04/2014, 08h45
  2. Formulaire de saisie en mode vba
    Par Danaxia dans le forum Conception
    Réponses: 3
    Dernier message: 20/08/2010, 15h51
  3. [AC-2003] définition des Propriétés des objets: vba ou formulaire de saisie
    Par Jones dans le forum VBA Access
    Réponses: 4
    Dernier message: 06/05/2010, 10h14
  4. Barre de progression VBA pour formulaire Access
    Par beegees dans le forum Access
    Réponses: 1
    Dernier message: 30/10/2005, 12h10
  5. Réponses: 3
    Dernier message: 24/02/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo