Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 22h06   #1
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
Par défaut probleme de code

bonne annee a tous et a toutes
j'ai le probleme suivant:
je fait un recapitulatif de notation.
a l'aide d'un userform et des cases options.
j'ai 5 cases options avec les notations suivantes
18/20 15/18 10/15 5/10 et 0
je souhaiterais selectionner une des cases, avec comme valeur +1
valider et que le resultats s'affiche dans ma feuille de recap.
les valeurs dans la feuille doivent etre pour 18/20 en colonne B
pour 15/18 en C
pour 10/15 en D
pour 5/10 en E et pour 0 en F
le debut des notations se trouve sur la ligne 7
j'ai differents criteres sur les lignes
7 - 8 10 11-12-13-14 - 16-17-18 20-21 23-24 26-27 29-30 32 34 37-38-39-40
et j'ai des commentaires a partir de la ligne 45 et a suivre.

cris
Pièce jointe 87776
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/01/2012, 15h14   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
J'ai ajouté un bouton sur la feuille. J'ai mis un combobox à la place du textbox1. Tant qu'une rubrique est remplie, le userform reste affiché, ce qui permet de noter plusieurs rubriques sans quitter le userform. Voici le code contenu dans le module du userform :

Code :
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
Private Sub CommandButton1_Click()
    Dim Ligne As Integer
    If Me.ComboBox1.ListIndex > -1 Then
        If Me.OptionButton1 = False And Me.OptionButton2 = False And Me.OptionButton3 = False _
         And Me.OptionButton4 = False And Me.OptionButton5 = False Then
            MsgBox "Choisissez une note"
            Unload Me
            Exit Sub
         End If
        Ligne = Application.Match(Me.ComboBox1.Value, [A:A], 0)
        For i = 1 To 5
            If Me.Controls("OptionButton" & i) = True Then
                Cells(Ligne, 1).Offset(, i) = Cells(Ligne, 1).Offset(, i) + 1
                Exit For
            End If
        Next i
        [D42] = [D42] + 1
        If Me.TextBox2 <> "" Then
            Cells(Rows.Count, 1).End(xlUp).Offset(1) = Me.TextBox2
        End If
        Me.TextBox2 = ""
        For i = 1 To 5
            Me.Controls("OptionButton" & i) = False
        Next i
    Else
        Unload Me
    End If
End Sub
 
Private Sub CommandButton2_Click()
    Unload Me
End Sub
 
Private Sub UserForm_Activate()
    Dim c As Range
    Me.ComboBox1.Clear
    For Each c In [A7:A40]
        If Left(c, 2) <> "Le" And Left(c, 2) <> "L'" Then
            Me.ComboBox1.AddItem c.Value
        End If
    Next c
    Me.ComboBox1.ListIndex = 0
End Sub
N'hésite pas à demander si tuu as besoin d'explications.
Fichiers attachés
Type de fichier : rar tableau analyse questionnaires test.rar (75,4 Ko, 1 affichages)
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/01/2012, 16h20   #3
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
merci beaucoup daniel
j'ai regarde le code, et je vais essayer de modifier,pour les lignes 37 a 40
car ici j'ai 2 choix a faire
1 pour la qualite bon ou pas et 1 pour le prix bon ou pas, ou sans avis
cris

bonjour
je voudrais modifier le code pour ,pour les lignes 37 a 40
car ici j'ai 3 choix a faire
1 choix pour la qualite (bon) ou (pas) et 1 autre pour le prix (bon) ou (pas), ou 1 sans avis

cris
Fichiers attachés
Type de fichier : rar tableau analyse questionnaires test.rar (76,8 Ko, 0 affichages)
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 17h45   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
J'ai fait pas mal de modifs dans l'userform (ajout de deux labels, "Qualité" et "Prix" qui apparaissent suivant la ligne) et dans le code :

Code :
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
Private Sub ComboBox1_Change()
    Ligne = Application.Match(Me.ComboBox1.Value, [A:A], 0)
    If Ligne > 36 Then
        Me.OptionButton5.Visible = False
        Me.Label7.Visible = False
        Me.Label9.Visible = True
        Me.Label10.Visible = True
        Me.Label2.Caption = "Bien"
        Me.Label4.Caption = "Moyen"
        Me.Label5.Caption = "Bien"
        Me.Label6.Caption = "Moyen"
        Me.OptionButton1.GroupName = 2
        Me.OptionButton2.GroupName = 2
    Else
        Me.OptionButton5.Visible = True
        Me.Label7.Visible = True
        Me.Label9.Visible = False
        Me.Label10.Visible = False
        Me.Label2.Caption = "18/20"
        Me.Label4.Caption = "15/20"
        Me.Label5.Caption = "10/20"
        Me.Label6.Caption = "5/20"
        Me.OptionButton1.GroupName = 1
        Me.OptionButton2.GroupName = 1
    End If
End Sub
 
Private Sub CommandButton1_Click()
    Dim Ligne As Integer
    If Me.ComboBox1.ListIndex > -1 Then
        If Me.OptionButton1 = False And Me.OptionButton2 = False And Me.OptionButton3 = False _
         And Me.OptionButton4 = False And Me.OptionButton5 = False Then
            MsgBox "Choisissez une note"
            Unload Me
            Exit Sub
         End If
        Ligne = Application.Match(Me.ComboBox1.Value, [A:A], 0)
        If Ligne > 36 Then
            For i = 1 To 4
                If Me.Controls("OptionButton" & i) = True Then
                    Cells(Ligne, 1).Offset(, i) = Cells(Ligne, 1).Offset(, i) + 1
                End If
            Next i
        Else
            For i = 1 To 5
                If Me.Controls("OptionButton" & i) = True Then
                    Cells(Ligne, 1).Offset(, i) = Cells(Ligne, 1).Offset(, i) + 1
                    Exit For
                End If
            Next i
        End If
        [D42] = [D42] + 1
        If Me.TextBox2 <> "" Then
            Cells(Rows.Count, 1).End(xlUp).Offset(1) = Me.TextBox2
        End If
        Me.TextBox2 = ""
        For i = 1 To 5
            Me.Controls("OptionButton" & i) = False
        Next i
    Else
        Unload Me
    End If
End Sub
 
Private Sub CommandButton2_Click()
    Unload Me
End Sub
 
Private Sub UserForm_Activate()
    Dim c As Range
    Me.ComboBox1.Clear
    For Each c In [A7:A40]
        If Left(c, 2) <> "Le" And Left(c, 2) <> "L'" Then
            If c.Value <> "" Then Me.ComboBox1.AddItem c.Value
        End If
    Next c
    Me.ComboBox1.ListIndex = 0
    Me.Label9.Visible = False
    Me.Label10.Visible = False
    Me.Label7.Visible = True
    For i = 1 To 5
        Me.Controls("OptionButton" & i).GroupName = 1
    Next i
End Sub
Je joins le classeur.
PS, j'ai bougé un peu les contrôles sur le userform et ils ne sont plus bien alignés. Je te laisse le soin de rétablir.
Fichiers attachés
Type de fichier : rar tableau analyse questionnaires test.rar (80,0 Ko, 3 affichages)
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/01/2012, 17h59   #5
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
encore merci daniel,
j'en suis ba ba.
avec ce code, je vais diviser au moins par 3 le temps de saisie que j'avais precedement, et cela m'etais fastidieux, je passais + d'une heure. avec + de 65 questionnaires.
cordialement
cris
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h43.


 
 
 
 
Partenaires

Hébergement Web