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

  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

  9. #9
    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
    Merci Patricktoulon

    c est super a toi avoir repris le code.
    qu entend tu en disant de remettre les textboxs dans l ordre
    parce que c est bien ca que je cherche a faire reinjecter les donnees dan l userform de facon a modifier ou completés les donnees

    et encore un grand merci

  10. #10
    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 re
    bonjour

    de rien le forum est la pour ça

    pour tes textbox

    si tu regarde bien ta macro tu en a une douzaine je crois(autant que de cellules correspondantes

    alors quand tu construit ton userform sachant que la boucle te donne les control de haut en bas

    et si tu regarde dans ton usf en partant du plus haut jusque au plus bas

    il ne sont pas dans l'ordre bon ça marche très bien comme ça mais si il avait été ajouté dans l'ordre on aurait pu encore raccourcir le code au niveau des transfert de données

    voila
    edit:
    je viens de comprendre ta question
    effectivement on est en plein dedans

    alors

    il faudrais que tu renome par exemple tes textbox et combobox avec le chiffre corespondant au numero de colonne
    exemple

    textbox 1 pour la celule en colonne A(1 ere colonne) ect...

    ensuite
    tu ajoute un combo alimenté pars le sheets("feuil1")

    une simple boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with sheets("feuil1")
    a= combobox(X).listindex +2 ' le combo que l'on vien de rajouter
    for i = 1 to (lenombre de colonne)
    me.controls("Textbox"&i)= .cells(a,i)
    next
    end with
    mais ca n'est qu'une ebauche
    il faudrais que j'ai plus de temps mais la je suis court
    je regarde ca dans la semaine

    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

  11. #11
    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
    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
    non je scanne avec plusieurs outil avant d'ouvrir (il y a différent niveau de paranoïaque juste au niveau 4)

  12. #12
    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
    Partrick a raison sur l'ordre de tes textbox et combobox
    une simple boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for t= 1 to 119
    releve(t)=controls("textbox" & t).value
    next
    c'est plus rapide que d'ecrire 119
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    a1=textbox1.value
    a2=textbox2.value
    a3=textbox3.value
    a4=textbox4.value
    a5=textbox5.value
    a6=textbox6.value
    ...
    ...
    a119=textbox119.value
    en plus c'est le coup d'en loupé un surtout si le a97 correspond au TB 22
    le releve(t) est aussi une simplification
    c'est de définir un tableau à une dimension
    et tu le poses sur ta feuille d'un seul coup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With sheets("a_ton_choix")
     .range(cells(lig,1),cells(lig,119)).value= releve ' sans le (t)
    end with
    ça booste l’exécution d’écriture sur la feuille

  13. #13
    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
    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
     
     
     
     
    Private Sub CommandButton1_Click()
     
        i = Sheets("RECAP DEMANDES").Cells(Rows.Count, 1).End(xlUp).Row + 1
     
        With Sheets("RECAP DEMANDES")
     
            .Cells(i, 1) = TextBox1
            .Cells(i, 2) = TextBox2
            .Cells(i, 3) = TextBox3
            .Cells(i, 4) = TextBox4
            .Cells(i, 5) = TextBox5
            .Cells(i, 6) = ComboBox1
            .Cells(i, 7) = ComboBox2
            .Cells(i, 8) = ComboBox3
            .Cells(i, 9) = ComboBox4
            .Cells(i, 10) = ComboBox5
            .Cells(i, 11) = ComboBox6
            .Cells(i, 12) = ComboBox7
            .Cells(i, 13) = ComboBox8
            .Cells(i, 14) = ComboBox9
            .Cells(i, 15) = ComboBox10
            .Cells(i, 16) = ComboBox11
            .Cells(i, 17) = DTPicker1
            .Cells(i, 18) = DTPicker2
            .Cells(i, 19) = DTPicker3
            .Cells(i, 20) = DTPicker4
            .Cells(i, 21) = DTPicker5
            .Cells(i, 22) = DTPicker6
     
    End With
        Unload Me
    End Sub
     
    Private Sub CommandButton2_Click() 'Annuler
        Unload Me
    End Sub
     
     
    Private Sub IMPRIMER_Click()
    Sheets("RECAP DEMANDES").PrintOut Copies:=1
    End Sub
     
     
    Private Sub UserForm_Initialize()
    Dim NoEnreg As Integer
    NoEnreg = Sheets(3).Range("A20000").End(xlUp).Row
        TextBox1.Value = NoEnreg
        TextBox2.Value = Date
     
        For i = 3 To 1000
             ComboBox1.AddItem Sheets("BASE DE DONNEE").Cells(i, 12)
             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)
             ComboBox5.AddItem Sheets("BASE DE DONNEE").Cells(i, 5)
             ComboBox6.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox7.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox8.AddItem Sheets("BASE DE DONNEE").Cells(i, 4)
             ComboBox9.AddItem Sheets("BASE DE DONNEE").Cells(i, 10)
             ComboBox10.AddItem Sheets("BASE DE DONNEE").Cells(i, 8)
             ComboBox11.AddItem Sheets("BASE DE DONNEE").Cells(i, 6)
     
          Next
    End Sub


    Quand tu parle de mettre les textboxs et combobox en ordres est que c est ça ????

    Encore désolé pour mon ignorance mais je débute , mais rassuré vous j apprend très vite

  14. #14
    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
    Encore désolé pour mon ignorance mais je débute , mais rassuré vous j apprend très vite
    ce n'est pas l'ignorance qui est répréhensible, c'est de s'y complaire
    de plus si tu savais tout tu ne demanderais rien (CQFD)
    donc c'est une bonne démarche
    pour mettre les textbox en ordre c'est surtout pour t'y retrouver
    aprés mettre en concordance les numéro de textbox avec les numero de colonnes c'est plus facile
    mais surtout si ton premier Tb en haut de ton USF est le numéro 1 celui qui suit le 2 c'est aussi plus clair ( donc plus simple)

  15. #15
    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
    Merci
    pour vos explications qui m aide beaucoup

    DARENC
    est ce que je peut te mettre mon fichier, un peut retravailler pour que tu puisse y jeter un œil afin de remédier a mon problème qui est écrit dessus (ce que je cherche a faire en fait )

    Merci

    Voila je l ai mis sur le site et encore merci
    Fichiers attachés Fichiers attachés

  16. #16
    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
    tu veux l'envoyer ou? ici
    ou sur boite mail ?
    ou boite perso dans ce dernier cas contact moi sur la BàL du site

    bon un petit problème de bibliothèque apparemment mon 2003 maison n'as pas les bibliothèques d' excel 12 ( il faut mettre les mains dans le cambouis et rétrograder les bibliothèques à la mano)

    a ajouter dand le code de la feuille "Recap demandes"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Call USF_modif
    Cancel = True
    End Sub
    a ajouter dans les modules
    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
    Public Lg As Long
    Public interupt As Boolean
    Public Tble As Variant
     
    Sub USF_modif()
    UserForm1.Show
    Lg = ActiveCell.Row
    interupt = True
    End Sub
    Sub LANCER()
    With sgheets(3)
    Lg = .Range("a65535").End(xlUp).Row + 1
    interupt = False
    UserForm1.Show
    End Sub
    a ajouter dans le code de l'usf
    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
    Private Sub modif()
    With Sheets(3)
    Tble = .Range("a" & Lg & ":v" & Lg).Value
    End With
    Dim t As Byte
    For t = 1 To 5
    Controls("textbox" & t).Value = Tble(1, t)
    Next
    For t = 6 To 16
    Controls("combobox" & t - 5).Value = Tble(1, t)
    Next
    For t = 17 To 22
    Controls("DTPicker" & t - 16).Value = Tble(1, t)
    Next
    End Sub
    le code de Private Sub UserForm_Initialize()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If interupt = True Then
          Call modif
          Else
          End If
          interupt = False
    end sub
    en fin de procédure

  17. #17
    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 re
    bonjour

    allons donc

    on reprend

    pour reduire le code une boucle sur les controls serai necessaires mais pour cela il te faut renomer tes controls dans le usf

    puisque la propriété utilisée est "Value"

    donc tes combo et textbox tu les renomme dans ton usf par exemple
    controle_1,controle_2 ect... le chiffre en fonction de la colonne bien evidament

    ensuite

    la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub transfert()
    dim laligne as long,i as long
    for each ctrls in me.controls
    i=i+1
    laligne= sheets("recap commande").Cells(Rows.Count, 1).End(xlUp).Row
     
    sheets("recap commande").cells(laligne,i)=me.controls("controle_"& i).value
     
    next 
    end sub
    voila voilou

    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

  18. #18
    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
    Désolé de ne pas avoir répondu plus tôt j était pas chez moi mais j ai pu consulté que vous m aviez pas oublié.
    Donc un grand merci a tous pour votre aide , je vais de ce pas essayer tous vos petits codes et je vous dit après ce qui se passe......

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, 17h13
  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, 16h12
  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, 18h45
  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, 15h10
  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, 08h15

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