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 :

Interaction entre un UserForm et une feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Par défaut Interaction entre un UserForm et une feuille
    Bonjour a tous

    voila je cherche un peu d aide pour mon projet en vba, ou je suis encore novice,
    je connais mieux excel mais les code vba sont un peu étranger pour moi mais je ne désespère pas d apprendre, j ai d ailleurs commencé avec ce projet.
    Donc je vous soulève les petits problèmes que je rencontre

    Mon projet "DEMANDE D INTERVENTION"

    1- qd je clique sur le bouton il me met une première erreur alors qu il ne le faisait pas avant ....?????
    Maintenant ce que je voudrai faire,
    2_toutes les saisisi dans l userform lorsque je valide, aille dans la feuille 1 dans la premiere ligne (Feuille 1 que je n arrive pas a renommer en "recap demandes" ça me met une autre erreur).
    3_Quand je clique sur une saisi dans ma feuille 1 (une ligne) que ces données reviennent dans mon userform pour pouvoir les modifier ou les complétés

    voila déjà les petits problèmes que je rencontre,je suis de nature a ne demande un peu d aide qu' au dernier moment mais la j en ai vraiment besoin

    je vous met mon projet en fichier joint pour voir ce que j ai déjà fait tout seul avec l aide de votre forum de de certain fichier que j ai trouvé et qu avec ce fichier vous comprendrez mieux ce que je veut.

    PS; je suis ouvert a une meilleur proposition si il y a pour améliorer mon projet
    encore merci pour toute aide que vous m apporté

    JP
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    D'une je n'ouvre aucune pièce jointe (on ne sait jamais ce qu'il y a dedans, et j'ai pas envie de me prendre une cochonnerie sur mon PC).

    Ensuite pour répondre à tes questions:

    1- Quelle erreur?
    2- J'ai rien compris, et toujours quelle erreur?
    3- Re-rien compris

    Ensuite, pourrais-tu poster le code sur le forum? (avec les balises appropriées, que tu as en cliquant sur le bouton # de ton éditeur).

  3. #3
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    C'est sûr qu'il serait préférable que tu isoles les pb et donne les routines correspondantes plutôt que d'envoyer d'entrée ton classeur.
    Tu as lu les règles du forum?

    Bon, tu as déjà un pb dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    Dim NoEnreg As Integer
    NoEnreg = Range("UserForm1!A20000").End(xlUp).Row
    La méthode Range échoue (c'est bien le moins...)
    Tu voulais faire quoi?


    PGZ

  4. #4
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    le problème me semble être de plusieurs niveau
    1 tu as dans initialize de l'USF un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoEnreg = Range("Userform1!A20000").End(xlUp).Row
    remplace le par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoEnreg = Sheets(1).Range("A20000").End(xlUp).Row
    en second lieu les variable ne sont pas définies (chez moi ça pose problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim NoEnreg As Integer
    Dim dateur As Date
    Dim i As Integer
    j'ai un retour d'erreur : " bibliothèque introuvable" qui disparait en utilisant une définition des variables. Par contre le format du textbox apparait en 00:00:00
    je n'ai pas approfondi la question.
    tu as une référence à une feuille Userfrom1 ? attention les feuilles de calcule sont des "feuil" les USF des "Feuilles" (un peu cucul mais bon) les USF s'appelle directement par leur nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Userform1.show 
    Userform1.Hide
    les feuilles par ouje remarque également que tes combobox ont des kilomètres de lignes vides il est plus judicieux de les remplir avec une feuille à part qui contient les données dont tu aura besoin en colonne chaque plage servant à la création de la liste d'un combobox ( ou de plusieurs si elle sont identiques)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Par défaut
    re bonjour

    Un grand MERCI pour votre aide

    D'une je n'ouvre aucune pièce jointe (on ne sait jamais ce qu'il y a dedans, et j'ai pas envie de me prendre une cochonnerie sur mon PC).
    Désolé Supersnail j ai mis mon fichier pour que tu me comprenne mieux , mais bon tu as raison de te méfier j en aurai fait autant
    ensuite
    1- Quelle erreur?
    2- J'ai rien compris, et toujours quelle erreur?
    3- Re-rien compris
    si tu aurai ouvert mon fichier tu aurai pu comprendre mes problèmes sur les erreurs
    comme je débute sur VBA c est ton aide que j ai besoin pour m expliquer comment faire pour mentionner ces erreur (Je me suis peut etre mal fait comprendre sur mon post, mais comment expliquer quelque chose donc on ne comprend pas trop comment ça marche !! d ou mon fichier ci joint)
    Mais déjà rien que d avoir répondu je t en remercie

    Pour Daranc

    Merci j ai vu que tu as ouvert mon fichier (J espère que tu n a pas eu de problèmes vu que toi aussi tu savait pas ce qui avait dedans

    alors revenons a mes problèmes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoEnreg = Range("Userform1!A20000").End(xlUp).Row
    chaque demande que je fait dans mon Userform prennent un numéro de Fiche ( 1 , 2 , 3 etc etc.....) et la date d enregistrement dans un autre textbox
    j ai remplace par ton code le textbox m indique 10001
    qd je relance l userform il m indique 10002

    Arrfff!!! que c est dure d’écrire ce que l on veut c est tellement simple par la voix

    les combobox les donnees qui son dedans viennent de la feuille "base de donnee qui elle meme est a venir a se mettre a jour d ou les km de ligne vides

    [code]
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Sub CommandButton1_Click() 'Valider
        i = 2
        With Sheets("UserForm1")
        Do While .Cells(i, 1) <> ""
        i = i + 1
        Loop
            .Cells(i, 1) = TextBox10
            .Cells(i, 2) = TextBox1
            .Cells(i, 3) = ComboBox1
            .Cells(i, 4) = TextBox11
            .Cells(i, 5) = ComboBox5
            .Cells(i, 6) = TextBox2
            .Cells(i, 7) = ComboBox6
            .Cells(i, 8) = ComboBox2
            .Cells(i, 9) = ComboBox3
            .Cells(i, 10) = ComboBox4
            .Cells(i, 11) = ComboBox7
            .Cells(i, 12) = ComboBox8
            .Cells(i, 13) = ComboBox9
            .Cells(i, 14) = ComboBox10
            .Cells(i, 15) = ComboBox11
            .Cells(i, 16) = DTPicker2
            .Cells(i, 17) = DTPicker7
            .Cells(i, 18) = DTPicker3
            .Cells(i, 19) = DTPicker6
            .Cells(i, 20) = DTPicker8
            .Cells(i, 21) = DTPicker9
            .Cells(i, 22) = TextBox3
     
     
     
        End With
     
        Unload Me
    End Sub

    qd je clique sur valider les saisis j ai une erreur " l indice n appartient pas a la selection"

  6. #6
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Hello.

    Tu recommences : tu n'as pas de feuille de calcul qui s'appelle "UserForm1".
    Tu as un formulaire "UserForm1".


    Cordialement,

    PGZ

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Par défaut
    autant pour moi désole j ai trouve ma connerie j ai mis userform1 a la place de feuil1
    merci pgz

    mais c est comme ça qu' on apprend non ???:

    J' ai réussi aussi a régler le problème des enregistrements (1, 2 , 3 qui me mettait 10001, 10002 etc...) c était pas la bonne feuille dans le code

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour

    comme ca vite fait sans aller plus loin

    ton code de l'userform nétoyé,décapé,allégé enfin voila quoi
    j'ai bien sur retiré les reference manquantes qui ne servaient a rien visiblement
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Private Sub CommandButton1_Click() 'Valider
     
         i = Sheets("feuil1").Cells(Rows.Count, 1).End(xlUp).Row + 1 'ca c'est le mailleur moyen de trouver la premiere ligne vide _
         c'est mieux qu'une boucle do wile
     
        With Sheets("feuil1")
     
            .Cells(i, 1) = TextBox10
            .Cells(i, 2) = TextBox1
            .Cells(i, 3) = ComboBox1
            .Cells(i, 4) = TextBox11
            .Cells(i, 5) = ComboBox5
            .Cells(i, 6) = TextBox2
            .Cells(i, 7) = ComboBox6
            .Cells(i, 8) = ComboBox2
            .Cells(i, 9) = ComboBox3
            .Cells(i, 10) = ComboBox4
            .Cells(i, 11) = ComboBox7
            .Cells(i, 12) = ComboBox8
            .Cells(i, 13) = ComboBox9
            .Cells(i, 14) = ComboBox10
            .Cells(i, 15) = ComboBox11
            .Cells(i, 16) = DTPicker2
            .Cells(i, 17) = DTPicker7
            .Cells(i, 18) = DTPicker3
            .Cells(i, 19) = DTPicker6
            .Cells(i, 20) = DTPicker8
            .Cells(i, 21) = DTPicker9
            .Cells(i, 22) = TextBox3
     
     
     
        End With
     
        Unload Me
    End Sub
     
    Private Sub CommandButton2_Click() 'Annuler
        Unload Me
    End Sub
     
     
    Private Sub IMPRIMER_Click()
    Sheets("feuil1").PrintOut Copies:=1
    End Sub
     
     
     
     
    Private Sub UserForm_Initialize()
    Dim NoEnreg As Integer
    NoEnreg = Range("A20000").End(xlUp).Row
        TextBox10.Value = NoEnreg
        TextBox1.Value = Date
     
        For i = 3 To 1000 'ici on commence a partir de la 3 eme ligne
             ComboBox1.AddItem Sheets("BASE DE DONNEE").Cells(i, 12)
             ComboBox5.AddItem Sheets("BASE DE DONNEE").Cells(i, 4)
             ComboBox6.AddItem Sheets("BASE DE DONNEE").Cells(i, 11)
             ComboBox2.AddItem Sheets("BASE DE DONNEE").Cells(i, 9)
             ComboBox3.AddItem Sheets("BASE DE DONNEE").Cells(i, 9)
             ComboBox4.AddItem Sheets("BASE DE DONNEE").Cells(i, 9)
             ComboBox7.AddItem Sheets("BASE DE DONNEE").Cells(i, 5)
             ComboBox8.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox9.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox10.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox11.AddItem Sheets("BASE DE DONNEE").Cells(i, 6)
     
          Next
    End Sub

    bon yen aurais bien d'autres de chose a faire mais pour cela par exemple reconstruire le userform avec les textboxs dans l'ordre de facon a générr un boucle pour réinjecter les données dans le sheets("feuil1")


    allez au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Comment mettre les saisies d'un UserForm dans une feuille
    Par Condekilo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/05/2011, 16h13
  2. Copier la liste Box d'un userForm dans une feuille Excel
    Par AVNAIM dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2008, 15h12
  3. Fixer l'userform sur une feuille de calcul.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/12/2007, 17h45
  4. Interaction entre Controle ActiveX et une autre FORM.
    Par parp1 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/03/2007, 14h10
  5. Soustraction a partir d'un userform vers une feuille excel
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2006, 07h15

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