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 :

Pb sur Formulaires


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut Pb sur Formulaires
    Salut à tous,
    voici l'exposé de mon problème (ça fait un moment que j'ai pas fait des macros dans excel et j'étais débutant à l'époque ...) :

    dans une première feuille, je définis une variable public "position" comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public position As String
    ensuite sur la même feuille, j'appelle une boîtes de dialogue que j'ai créée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton2_Click()
    DialogSheets("Entréedonnéemyrabelélectricité").Show
    End Sub
    ensuite et ce dans un module, je fais cette macro là (sur bouton OK de la boîte de dialogue) :

    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
    Sub Bouton2_QuandClic()
    'sélectionne la première cellule vide dans le cas d'un nouvel enregistrement
        Dim n As Integer
        With Worksheets
            For n = 9 To 2000
            If Range("C" & Int(n)).Value = "" Then
               'on sélectionne la 1ère cellule vide
               Range("C" & Int(n)).Select
               position = n
               GoTo 1
            End If
            Next n
     
    1:      End With
    Range("C" & position) = DialogSheets("Entréedonnéemyrabelélectricité").TextBox(44).Value
    End Sub
    cette macro doit en fait sélectionné la première cellule vide en C quelque chose et mettre ce qui se trouve dans la zone d'édition 44. Ca bug à ce moment, il me dit " erreur d'éxécution 438 - propriété ou méthode non géré par cet objet"

    du coup, je suis bloqué là.

    Merci d'avance.
    Jean-Luc

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Par défaut
    Salut,

    Dans la procédure Bouton2_QuandClic() tu mets la boucle dans un instruction with worksheets. Si j'ai bien compris, ton code concerne toutes les feuilles de ton classeur (à moins que tu n'en a qu'une seule). Si ce n'est pas le cas spécifie la feuille concerné en mettant worksheets("nom de la feuille") dans ton instruction with.

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut

    [Edit2]Decidement je manque a tous mes devoirs... Bienvenu sur Developpez.net !, je coprend maintenant l'absence de balise code (Quand tu ecris ton message(ou quand tu l'edit) selectionne la partie code que tu as tapée et appuis sur le bouton #[/Edit2]

    Petite remarque avant de commencer, il serait bien que tu rajoute des balise code dans ton poste ca sera plus simple a lire [Edit]Et des indentations aussi si possible

    Un truc bizard dans ton code c'est le
    WorkSheets representant etant la collection tu dois en choisir un WorkSheets("Sheet1") par exemple et si, comme je le pense tu veux celui en cours, le mieux c'est de rien mettre (ca revient a ton code puisque je pense que VBA doit ignorer ta ligne With) [/Edit]

    Pour l'erreur c'est normal tu fait une egalité entre une cellule (objet range) et une valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("C" & position) = DialogSheets("Entréedonnéemyrabelélectricité").TextBox(44).Value
    Toi tu veux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("C" & position).formula = DialogSheets("Entréedonnéemyrabelélectricité").TextBox(44).Value
    Par contre en ce qui concerne ta macro pour selectionner la derniere ligne vierge tu aurais fais une petite recherche tu aurais trouvé ca

    En particulier cette partie la

    Citation Envoyé par deubelte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").end(xldown).select
    Il te faut alors juste aller une ligne plus bas, puisque ce code te donne la derniere ligne non vide, en mettant par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").end(xldown).OffSet(1,0).Select
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 26/01/2006, 08h44
  2. Réponses: 7
    Dernier message: 15/12/2005, 14h24
  3. Test sur formulaire avec liste des erreurs
    Par Nicos77 dans le forum Langage
    Réponses: 37
    Dernier message: 17/11/2005, 10h22
  4. Problème: condition sur formulaire dans requête
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 23h27
  5. Glisser déposer sur formulaire
    Par norvel dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 11h20

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