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] modifier une userform [Trucs & Astuces]


Sujet :

Macros et VBA Excel

  1. #41
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Bonjour Ouskel'n'or
    Qu'entends tu par "module" ?
    Dans mon fichier, le code que j'ai envoyé hier est dans la feuil1 et correspond à l'action du commandbutton1. Je n'ai pas de module.
    Je veux juste enlever tous les anciens contrôles de ma userform1
    et en mettre d'autres (prout)(c'est le nom de mon label, désolé)
    Dans le cas de ce code, le label ajouté est le même que le supprimé (donc le code est inutile), mais dans mon application un peu plus compliquée, les forms ajoutés sont différents (d'où la nécessité du code)

    J'ai également tenté de supprimer la userform et de la reconstruire en eniter après, mais cela efface le code associé à la userform. Et pour ce qui est de créer un code en dynamique, j'ai essayé, mais c'est trop compliqué pour moi...

  2. #42
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Qu'entends tu par "module" ?
    Dans l'exemple suivant, tu désigne une feuille (VBComponents) assimilée aux modules (VBComponents aussi) ainsi qu'aux feuilles de calcul (VBComponents aussi)
    Le type (VBComponents.type) permet seul de les différencier mais les trois sont de la même "famille" (VBComponents)

    Enfin,
    Citation Envoyé par tu
    J'ai également tenté de supprimer la userform et de la reconstruire en eniter après, mais cela efface le code associé à la userform
    Effectivement, quand tu supprimes un userform, tu supprimes tout, form et tout ce qui est dedans...
    Par contre, si tu connais d'avance le nombre d'userform à utiliser, tu peux les créer en dur à l'avance ...

    Citation Envoyé par Enfin, "tu
    Et pour ce qui est de créer un code en dynamique, j'ai essayé, mais c'est trop compliqué pour moi...
    Ardu pour tout le monde (!) Trop compliqué à débuguer ou à modifier. A la limite, on utilise ça pour modifier une ligne, un nom mais ce n'est pas conseillé. Je m'en sers pour initialiser un mot de passe sur un fichier confidentiel et c'est tout.

    Tu dis

    A+

  3. #43
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    OK, je laisse de côté l'histoire de créer une userform en créant le code associé alors. En conséquence, j'abandonne l'idée de supprimer la userform.
    Du coup, je dois quand même nettoyer les objets de la userform (j'ai remarqué que même si tu supprimes tous les command, check, label buttons, le code associé reste). Le problème est donc le même que celui de mon post d'hier (16h52) :

    La macro (simplifiée pour l'exemple) marche, mais une fois sur deux. Pourquoi ?

    Je précise ce que je veux faire avec userform :
    J'ai un nombre de checkbox variables suivant l'utilisation et trois commandbuttons fixes (du genre "OK", "Annuler", et "Modifier") avec un code associé fixe donc. cette userform s'affiche à partir d'un click sur un commandbutton qui est sur la feuil1. La liste de checkbox est donc celle qui est enregistrée dans la userform.
    - si cette liste ne convient pas, un click sur "modifier" donne accès à la feuil2 où on peut modifier les intitulés des checkbox (nom, prénom). Un commandbutton sur la feuil2 valide les modifications et modifie la userform en question (ajout/suppression de checkbox supplémentaires). C'est donc ce click en question qui doit vider la userform désuette et la remplir d'après les nouvelles infos. à la rigueur, si on pouvait juste supprimer les checkbox et pas les commandbutton, ce serait pê plus facile. Pour l'instant, je la vide totalement et recrée tout (le code associé aux commandbuttons est conservé)
    - un click sur "OK" remplit la feuil1 d'après les checkbox cochées
    - un click sur "Annuler" revient à la feuil1.

    J'espère que j'ai été un peu plus clair que précédemment, désolé, j'ai pas encore l'habitude des forums

  4. #44
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    héhé c'est marrant, j'étais justement en train d'arriver à ça
    Je suis dessus en ce moment pour l'instant j'ai qqch comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim Ctrl As Control
    For Each Ctrl In UserForm1.Controls
    If TypeName(Ctrl) = "CheckBox" Then
     
         ctrl.delete ou un truc dans le genre, mais je trouve pas
     
    End If
    je trouve pas d'instruction remove delete ou un truc dans le genre, je dois avoir un souci avec le format de ctrl

  5. #45
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ex avec le nom de tous tes checkbox commençant par "check"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        For Each MonCtrl In Me.Controls
            if left(MonCtrl.Name",5) = "check" then Effacer
        Next
    A+

  6. #46
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    oui j'ai essayé clear, mais hélas trois fois hélas, ça ne marche pas
    j'essaie un truc comme ça avec remove mais je sais pas trop ce qu'est "varg" (l'info qu'il te met en infobulle quand tu est rendu là : "remove(" )
    j'en suis à un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a = Ctrl.TabIndex
    UserForm1.Controls.Remove (a)

  7. #47
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai essayé plein de trucs mais là, je cale. Je dois laisser tomber, telle quelle mon appli se débrouille très bien
    Par contre, si tu trouves quelque chose, n'hésite pas, on créera une question séparée et on mettra ça dans les trucs et astuces et dans la FAQ...
    Je compte sur toi...

    A+

  8. #48
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    juste une question, on a le droit de mettre des liens vers d'autres sites dans nos posts ? j'ai une page que j'aimerais te montrer avec qq infos

  9. #49
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    bon je te mets le lien, j'ai essayé sans succès de le mettre en pratique
    mais ça a pourtant l'air d'être ça...

    http://pubs.logicalexpressions.com/p...cle.asp?ID=259

  10. #50
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai vite parcouru le texte que tu m'a cité.
    Pour la création de boutons en dynamique, tu as ça là
    http://www.developpez.net/forums/vie...r=asc&start=30
    Pour une explication sur un module de classe et la création d'une classe, tu as ça dans la faq. C'est très clair, tu devrais le lire :
    Introduction aux modules de classe et à la POO illustrée par VB6 : http://xo.developpez.com/tutoriel/vb6/poo_vb6/

    Et ce coup-ci, je m'en vais

    Tu me tiens au courant de tes avancées... Bonne soirée, travaille bien

    A+

    ERATA
    Le code auquel je t'ai renvoyé ne crée pas mais teste un événement qui se produit dans des contrôles créés en dynamique avec WithEvents

  11. #51
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Hello,
    bon pas de news, j'arrive toujours pas à supprimer ces fichus contrôles de façon dynamique.
    Je reviens un peu sur la question que je posais précédemment : pourquoi ça marche une fois sur deux (post du 5 avril 16h52)
    Apparemment, suivant l'aide vba, il n'est pas possible d'utiliser clear pour enlever des contrôles créés au moment de la conception (pareil pour remove)

    Pour une collection Controls, Clear supprime les contrôles créés au moment de l'exécution avec la méthode Add. L'utilisation de Clear sur des contrôles créés au moment de la conception provoque une erreur.
    Doit-on en déduire qu'il n'est pas possible de supprimer dynamiquement un contrôle d'une userform lorsque celui-ci a été créé avant l'exécution de la macro ?
    Serait-il possible de faire un truc genre set NewCtrl = AncienCtrl pour faire comme si le contrôle venait d'être créé ?

    Je m'arrache les cheveux...

  12. #52
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    tu sais c'est toujours la même histoire, si je crée mes contrôles en dynamiques, il faut que je crée le code associé en dynamique
    Bon je suis parti pour essayer un autre truc : avoir une userform type avec les contrôles fixés et codes associés et une deuxième qui serait une copie de la première avec les checkbox dont le nombre varie.
    Quand on change leur nombre on supprime la deuxième, on fait une copie de la première en ajoutant le bon nombre de checkbox.
    Pffff, encore une entreprise de longue haleine...

  13. #53
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Alors je t'explique tout
    J'ai une feuille (feuil1) où je dois insérer des noms. Encliquant sur un commandbouton de la feuille, j'ai accès directement à une userform.
    Sur celle-ci, je coche les noms que je veux, je clique sur OK, et les noms sont insérés. Je clique sur Annuler je reviens à la feuille non modifiée. Par contre j'ai besoin de pouvoir modifier cette liste de noms (ajouter un nouvel embauché par exemple) J'ai donc un commandbuton sur cette userform qui donne accès à la feuille2, feuille source, où les noms/prénoms sont dans des cellules. On peut donc les modifier, puis cliquer sur un commandbutton de la feuille qui va réinitialiser la userform. Voici donc le code que j'ai pour ce bouton
    j'ai mis des commentaires pour la lisibilité du truc, et j'ai mis l'endroit qui me pose problème. Peut-être m'y prend-je mal ?

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    Private Sub CommandButton1_Click()
     
    Dim Prenom As String
    Dim Nom As String
    Dim usf As VBComponent
    Dim Ctrl As Control
     
    'tri alphabétique des données dans la feuille 2
    Range("A5:B371").Select
    Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
     
    'désactivation de l'écran pour la durée de la macro
    Application.ScreenUpdating = False
     
    'compter le nombre de personnes (de lignes) dans la feuil2
    ActiveSheet.Cells(5, 2).Select
    NbPers = 0
    While ActiveCell.Value <> ""
        NbPers = NbPers + 1
        ActiveCell.Offset(1, 0).Select
    Wend
     
    'supprimer les checkbox de la userform1
    'For Each Ctrl In UserForm1.Controls
    '    If TypeName(Ctrl) = "checkbox" Then
    ' CA BUGGUE ICI
    '        Ctrl.remove
    '    End If
    'Next Ctrl
     
    'intégrer les noms prénoms sous forme de checkbox
    ReDim Obj(NbPers)
    Set usf = ThisWorkbook.VBProject.VBComponents("UserForm1")
    'autre tentative de nettoyer la userform de ses contrôles
    'BUGGUE UNE FOIS SUR DEUX (histoire du mode conception/exécution
    'usf.Designer.Clear
     
    ActiveSheet.Cells(5, 2).Select
    For i = 1 To NbPers
        Nom = ActiveCell.Value
        Prenom = ActiveCell.Offset(0, -1).Value
        Set Obj(i) = usf.Designer.Controls.Add("forms.CheckBox.1")
        With Obj(i)
            .Left = 30
            .Top = 10 + 20 * i
            .Width = 150
            .Height = 20
            .Name = "Gars" & i
            .Caption = Prenom & " " & Nom
        End With
        ActiveCell.Offset(1, 0).Activate
    Next
     
    'redéfinir la hauteur de la userform
    With usf
        .Properties("height") = 130 + 20 * NbPers
        .Properties("caption") = "Sélection du personnel"
    End With
     
    'intégrer du texte figé
    Set legende = usf.Designer.Controls.Add("forms.label.1")
    With legende
        .Left = 20
        .Top = 10
        .Width = 130
        .Height = 20
        .Caption = "Sélectionner les personnes :"
    End With
     
    'intégrer des contrôles
    Set modif = usf.Designer.Controls.Add("forms.commandbutton.1")
    With modif
        .Left = 40
        .Top = 40 + 20 * NbPers
        .Width = 120
        .Height = 20
        .Caption = "Modifier la liste du personnel"
    End With
     
    Set Valid = usf.Designer.Controls.Add("forms.commandbutton.1")
    With Valid
        .Left = 50
        .Top = 70 + 20 * NbPers
        .Width = 30
        .Height = 20
        .Caption = "OK"
    End With
     
    Set annul = usf.Designer.Controls.Add("forms.commandbutton.1")
    With annul
        .Left = 104
        .Top = 70 + 20 * NbPers
        .Width = 45
        .Height = 20
        .Caption = "Annuler"
    End With
     
    VBA.UserForms.Add (usf.Name)
     
    Application.ScreenUpdating = True
     
    'revenir à la feuille 1
    Sheets(1).Visible = True
    Sheets(1).Activate
    Sheets("liste du personnel SNM Méca").Visible = False
     
    'faire apparaitre la userform remaniée
    'comme usf.show plante, ou userform1 aussi, je n'ai trouvé que ce moyen  :
    ' externaliser la demande dans une autre procédure
    Call chaud
     
    End Sub
    Sub chaud()
    UserForm1.Show
    End Sub

  14. #54
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ai-je bien compris ? Tu veux, à partir d'une userform, sélectionner certains noms se trouvant sur une feuille que j'appellerai "BdD" (base)
    1 - Ces noms, une fois sélectionnés (dans quoi ? une listbox ?), sont insérés dans la feuille de calcul que j'appellerai "Report"
    2 - Ensuite, tu veux modifier la feuille BdD en insérant de nouveaux noms... (?) Ou est-ce la feuille Report ?
    3 - A quoi te servent les checkbox ? A sélectionner, oui mais pourquoi des checkBox ?

    Si tu peux déjà me répondre à ça...

    A+

  15. #55
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    mmm comment dire...
    deux utilisations :
    une utilisation "normale" :
    je suis sur ma feuille "report" (feuil1), je clique sur un bouton, et la userform apparait avec les noms des bonhommes à cocher (checkbox=pratique)(réponse au 1 et au 3). je sélectionne ceux que je veux, et clic ok et hop ces nom apparaissent aux bons endroits dans la feuille dite "report"

    une utilisation "modification" :
    dédé vient de partir en retraite, pour compenser, on a embauché 2 petits jeunes (l'histoire ne dit pas si c'est en CPE)
    je suis sur ma feuille "report", je clique, userform, mais du coup, les noms ne sont pas bons. je clique donc sur un bouton de la userform qui m'amène vers la feuille dite "BdD". J'enlève le nom de dédé, et j'ajoute ceux de mes deux jeunots (que j'appellerai CPE et CDD). modification de BdD donc (réponse au 2) Je clique sur un bouton, et boum je reviens à la userform qui a pris en compte mes modifications (CPE et CDD sont intégrés dans la liste et dédé est parti)
    Si j'ai besoin d'un report tout de suite, je coche le nom des gars que je veux et hop, ou alors je clique sur annuler, je reviens à mon report vierge, je sauvegarde, ferme, et je vais en terrasse au soleil

    merci de ton aide tout au long de cette semaine en tout cas

  16. #56
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    bouhou, j'aurai pas résolu ce problème avant le week-end, pê l'inspiration viendra pendant le repos ??

  17. #57
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    OK merci pour les infos.
    Le choix des checkbox a été fait pour une question de lisibilité, c'est mon "client" qui me le demande... En plus je pense qu'il aurait plus de mal à utiliser une sélection multiple sous listbox (il a une approche assez éloignée de l'informatique)
    Merci quand même
    Je vais essayer de lancer d'autres questions plus simples plus précises sur le forum...

  18. #58
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    OK, je suis arrivé à quelque chose
    Je ne crée plus mes checkbox en dur, mais à chaque activation de la userform. C'est un peu plus lourd (reconstruction de la userform à chaque fois, alors que les données source ne changent que quelque fois par an), mais bon ça marche
    Voici le code de l'activation de la userform

    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
     
    Private Sub UserForm_Activate()
     
    Dim Prenom As String
    Dim Nom As String
    Dim Obj() As Control
    Dim NbPers As Integer
     
    'désactivation de l'écran pour la durée de la macro
    Application.ScreenUpdating = False
     
    'effacement des données dans le tableau d'arrivée
    Range("A10:Q40").ClearContents
     
    Sheets(2).Visible = True
    Sheets(2).Activate
     
    'tri alphabétique des données dans la feuille 2
    Range("A5:B371").Select
    Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
     
    'compter le nombre de personnes (de lignes) dans la feuil2
    ActiveSheet.Cells(5, 2).Select
    NbPers = 0
    While ActiveCell.Value <> ""
        NbPers = NbPers + 1
        ActiveCell.Offset(1, 0).Select
    Wend
     
    'intégrer les noms prénoms sous forme de checkbox
    ReDim Obj(NbPers)
    ActiveSheet.Cells(5, 2).Select
    For i = 1 To NbPers
        Nom = ActiveCell.Value
        Prenom = ActiveCell.Offset(0, -1).Value
        Set Obj(i) = UserForm1.Controls.Add("forms.CheckBox.1")
        With Obj(i)
            .Left = 30
            .Top = 10 + 20 * i
            .Width = 150
            .Height = 20
            .Name = "Gars" & i
            .Caption = Prenom & " " & Nom
        End With
        ActiveCell.Offset(1, 0).Activate
    Next
     
    'redéfinir la hauteur de la userform
    UserForm1.Height = 130 + 20 * NbPers
    UserForm1.Caption = "Sélection du personnel"
     
    'repositionnage des commandbutton permanents
    UserForm1.CommandButton1.Top = 40 + 20 * NbPers
    UserForm1.CommandButton2.Top = 70 + 20 * NbPers
    UserForm1.CommandButton3.Top = 70 + 20 * NbPers
     
    Application.ScreenUpdating = True
     
    'revenir à la feuille 1
    Sheets(1).Visible = True
    Sheets(1).Activate
    Sheets("liste du personnel SNM Méca").Visible = False
     
    End Sub
    et le code pour intégrer les checkbox cochées dans la feuil1
    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
     
    Private Sub CommandButton2_Click()
    Dim Sel As Integer
    Dim Total As Integer
     
    Sel = 0
    Total = UserForm1.Controls.Count
     
    For i = 1 To Total - 5
        If UserForm1.Controls("gars" & i).Value = True Then
            Sel = Sel + 1
            ActiveWorkbook.Sheets(1).Cells(9 + Sel, 1).Value = UserForm1.Controls("gars" & i).Caption
        End If
    Next
     
    Unload UserForm1
    UserForm1.Hide
     
    End Sub
    pfffffff que d'efforts pour un tout petit truc...
    Mais je l'ai ! Ouf !

    Spécial remerciement à ouskel'n'or pour son aide pendant toute cette galère. Finalement la solution retenue évite les problèmes qu'on s'est posés, désolé... Mais bon, c'était très instructif ! Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [VBA-W] Atteindre une userform par un object
    Par tazamorte dans le forum VBA Word
    Réponses: 6
    Dernier message: 05/04/2007, 17h16
  2. [VBA-E] modifier une zone d'impression
    Par LeXo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2007, 22h53
  3. VBA Excel, modifier une lettre type dans word
    Par morgan47 dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/06/2006, 21h02
  4. [VBA E] Bloquer une USERFORM en consultation
    Par vanessaferraz dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/06/2006, 12h16
  5. [VBA-E] Dupliquer une userform
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2006, 12h11

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