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 :

Probléme VBA avec userform [XL-2010]


Sujet :

Macros et VBA Excel

  1. #21
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    par exemple je lui demande chaufferie ou make up ou refroidissement ou ECS il me mets soit production d'air ou autre , en gros il me met rien sur " point du jour" --> installation la demande que je veut ( quand je parle rien me mettre ce que je mets je ne parle pas de remplissage du tableau mais c'est sur le combobox CB1 et CB2 le probleme meme avec les emmeteur du message c'est pareil

  2. #22
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ce sont les macros "CB1_MouseDown" et "CB2_MouseDown" qui provoquent ce cas. Je les ai supprimées et j'ai reporté le code dans la macro "UserForm_Activate". Remplace les macros de l'userform par :

    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
    Private Sub CommandButton1_Click()
    If Forte1 = False And Moyenne2 = False And Faible3 = False Then
        MsgBox "Veuillez mettre le niveau de prise en compte de ce point", vbCritical
        Exit Sub
    End If
    If Forte1 Or Moyenne2 Or Faible3 Then
      With Sheets("Tableau de bord")
        lig = .[A65536].End(xlUp).Row + 1
        If lig = 6 Then lig = 7
        .Range("A" & lig).Value = CB1.Value
        .Range("B" & lig).Value = TB1.Value
        .Range("C" & lig).Value = TB2.Value
        .Range("E" & lig).Value = CB2.Value
        If Me.Forte1 = True Then .Range("D" & lig).Value = "Forte"
        If Me.Moyenne2 = True Then .Range("D" & lig).Value = "Moyenne"
        If Me.Faible3 = True Then .Range("D" & lig).Value = "Faible"
      End With
    End If
    PointDuJour.Hide
    End Sub
     
    Private Sub CommandButton2_Click()
     
    'annulé
    PointDuJour.Hide
    End Sub
     
    Private Sub UserForm_Activate()
        CB1.Clear
        CB1.AddItem "Production d'air"
        CB1.AddItem "E.C.S."
        CB1.AddItem "Refroidissement"
        CB1.AddItem "Make-Up"
        CB1.AddItem "Chaufferie"
        CB1.AddItem "Autres"
        CB2.Clear
        CB2.AddItem "F....."
        CB2.AddItem "J.-C......"
        CB2.AddItem "F.D....."
        CB2.AddItem "O.D......."
        CB2.AddItem "S.Bal....."
    End Sub

  3. #23
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Bonjour, Impeccable merci !!! ça marche a merveille. Par contre, sait-on :

    - Limité une case à une certaine valeur par exemple limité uniquement à ce qu'il y a dans la combobox1 (installation) donc impossible d'écrire autre chose et CB2.

    - Limité la quantité de caractère d'une cellule et rendre la cellule fixe non modifiable en fonction de des par exemple 200 caractère possible. par exemple collone probleme et solution

  4. #24
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Je ne suis pas sûr de comprendre; peux-tu donner des exemples pour le 1. Pour le nombre de caractères, il est possible de le limiter dans le textbox, donc sur la feuille si c'est ce que tu veux.

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Par exemple la premiere collone je peux pas ecrire dedans manuellement. et d'ailleurs quand je selectionne make up je peux rien modifier dans cette case comme ré-ecrire autre chose et je voudrais le faire dans les deux combo box comme ça le fichier est bien verouiller.

    oui en fait je voudrais verouiller pour les case où l'on peu mettre des commentaire du genre par exemple 50 caractére pour le probleme et la solution ^^ et une fois arrivé a ces 50 caractére il ne puisse plus ecrire et envoi un message "50 caractére max." ;

    Enopcre merci pour votre aide mon projet avance grace a vous !

  6. #26
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Mets cette macro dans le module "ThisWorkbook"; ta feuille est ainsi protégée contre les saisies directes. Seules les modifications apportées par macro sont autorisées (remplace "toto" par le mot de passe de ton choix).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
         Sheets("Tableau de bord").Protect Password:="toto", userinterfaceonly:=True
    End Sub
    Ajoute ces deux macros dans le module de l'userform pour contrôler le nombre de caractères saisi dans les textboxes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub TB1_Change()
        If Len(Me.TB1) > 50 Then
            MsgBox "50 caractére max."
            TB1.Text = Left(TB1.Text, 50)
        End If
    End Sub
    Private Sub TB2_Change()
        If Len(Me.TB2) > 50 Then
            MsgBox "50 caractére max."
            TB2.Text = Left(TB2.Text, 50)
        End If
    End Sub

  7. #27
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Juste impeccable merci ça fonctionne à merveille ^^ par contre sur les CB1 et CB2 je peux arrêté le mode modification ? afin d’éviter qu'on écrive dedans :/

  8. #28
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour info ça fonctionne également:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Forte1 + Moyenne2 + Faible3 = False Then
        MsgBox "Veuillez mettre le niveau de prise en compte de ce point", vbCritical
         End If
      If Forte1 + Moyenne2 + Faible3 = True Then
        PointDuJour.Hide
     
        End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Forte1 + Moyenne2 + Faible3 = False Then
        MsgBox "Veuillez mettre le niveau de prise en compte de ce point", vbCritical
    else
        PointDuJour.Hide
     
        End If

  9. #29
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Bonjour rdurupt, tout d'abord merci et heureuse année a vous .

    Je vous remercie je vais pouvoir alléger un peu la macro

  10. #30
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    par contre sur les CB1 et CB2 je peux arrêté le mode modification ? afin d’éviter qu'on écrive dedans :/

    Et je voudrais pouvoir cliquer dans la case recepteur et pouvoir afficher le deuxieme userform mais le probleme actuelle c'est qu'il s'affiche en cliquant sur toute les case :/

  11. #31
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    par contre sur les CB1 et CB2 je peux arrêté le mode modification ? afin d’éviter qu'on écrive dedans :/
    Mets la propriété "Locked" à "True".

    Pour limiter le champ de la macro affichent le userform :

    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)
        Cancel = True
        If Target.Column = 6 And Target.Row > 6 Then LecturePoint.Show
    End Sub

  12. #32
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Bonjour, j''ai essayé la fonction "lock = true" mais le probleme c'est qu'il bloque carrément ma liste et donc je ne peux plus accédé, mais ce que je voulais c'est qu'on ne puisse pas ecrire dans CB1 et CB2 :/


    ça marche impeccable merci Par contre est il possible d'avoir par exemple dans chaque ligne lorsque je click dans la collone 6 que les valeurs coché soient garder en fonction de chaque ligne ( par rapport a la lecture de l'utilisateur) donc mémorisé les case coché, reporter les valeurs coché ( donc personne mise en la collone 6 d'ou je clique. et d'afficher une condition par exemple si j'ai CheckBox1 à 5 alors j'affiche Lu par tous et dans les fonction conditionnelle je peux faire du textuel si affiché " Lu par tous" alors colorier en vert.

  13. #33
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Oups, la propriété à utiliser est "MatchRequired" positionnée à "True".

    ça marche impeccable merci Par contre est il possible d'avoir par exemple dans chaque ligne lorsque je click dans la collone 6 que les valeurs coché soient garder en fonction de chaque ligne ( par rapport a la lecture de l'utilisateur) donc mémorisé les case coché, reporter les valeurs coché ( donc personne mise en la collone 6 d'ou je clique. et d'afficher une condition par exemple si j'ai CheckBox1 à 5 alors j'affiche Lu par tous et dans les fonction conditionnelle je peux faire du textuel si affiché " Lu par tous" alors colorier en vert.
    C'est difficilement compréhensible, du moins pour moi. Tâche de faire des phrases courtes et de donner des exemples de ce que tu veux.

  14. #34
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    impeccable merci.

    Désolé :/.

    1/ Donc je veux que lorsque userform "Lecturedupoint" est visible, qu'on puisse pouvoir, lorsqu'il y a un ajout d'un point, coché dans cette userform et que ce qui est coché reste visible uniquement pour cette ligne. Ensuite lors d'un ajout d'un point, cette userform 'lecturedupoint' est vierge et l'info de l'autre point toujours visible avec ces cases cochés.

    2/ Ensuite que lorsque l'on coche dans userform 'lecturedupoint', la personne coché est renvoyé dans la collone "emmeteur" du point ajouté.

  15. #35
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ecoute, pour moi, c'est du chinois, les userforms vierges avec des points, ils ne sont plus vierges.
    Par ailleurs, on arrive au 35e message pour le même fil. A partir du 30e, je considère qu'il ne s'agit plus d'aide mais de développement pur et simple de ma part.
    Je te souhaite bon courage et je répondrai, si je suis disponible, aux questions ponctuelles que tu pourras poser sur le forum.

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

Discussions similaires

  1. Problème VBA avec le mytask sur la lecture de calendrier outlook
    Par lechtifred dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2010, 11h15
  2. [Toutes versions] Probléme shell avec userform
    Par aalex_38 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/08/2009, 12h42
  3. Problème intermitant avec userform
    Par frolland46 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/08/2008, 23h27
  4. (VBA-E) Problème combobox dans userform
    Par gringo69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2006, 19h28
  5. [VBA-E] UserForm avec textbox "Dynamique"
    Par Alex_Kidd dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2006, 01h29

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