Probleme de code

Bonjour,

J'ai besoin de votre aide, je suis perdu

Je suis encore débutant dans la création de code

Bonjour

C'est bien de vouloir une réponse mais il faut un dossier si possible complet

Il est ou le formulaire

Quelles sont tes questions à résoudre

Crdlt

J'ai un problème d'objet introuvable quand on lance le formulaire

En dessous des activités, ce sont le nombre de place disponible (ligne jaune) et encore en dessous, c'est le tarif des activités (ligne grise) qui sont additionnés dans le formulaire et rien ne correspond ...

Bonjour,

L'erreur vient de cette ligne à modifier comme suit dans le initialize :

        Me.Controls("lNb" & X).Caption = CStr(.Range(sCol & 3).Value - iNb)

Quand à la ligne tarif c'est la 4 c'est pourquoi ton total est erronné : Si tu multiplies le nombre d'activité par le nombre de place disponibles, c'est sur que ça va pas le faire...

A+

Merci, j'ai fais la modif.

Par contre, j'ai 2 autres problèmes :

le 1er est que lors du code

Private Sub UserForm_Initialize()
'
Dim X%, iNb%, sCol$
'
'Récupération des Données
ComboBox1.RowSource = "Menu!A2:A3"
ComboBox2.RowSource = "Menu!B2:B3"
'
With Worksheets("Enfant")
    For X = 3 To 42
        sCol = Split(.Columns(X + 20).Address(ColumnAbsolute:=False), ":")(1)
        iNb = WorksheetFunction.CountIf(.Range(sCol & "3:" & sCol & .Range(sCol & .Rows.Count).End(xlUp).Row), "X")
        Me.Controls("CheckBox" & X).Enabled = IIf(iNb >= .Range(sCol & 3).Value, False, True)
        Me.Controls("CheckBox" & X).Value = False
        Me.Controls("lNb" & X).Caption = CStr(.Range(sCol & 3).Value - iNb)
    Next
End With
'
End Sub

Si je met For X = 3 To 42 le formulaire s'ouvre, mais si j'écris For X = 3 To 43, le formulaire ne s'ouvre pas (et il y en a 110)

Le second problème concerne le code pour additionner les différentes sommes des activités

Private Sub TextBox19_change()
Dim X As Integer
Dim M As Double

For X = 3 To 110
   If Controls("CheckBox" & X).Value = True Then M = Worksheets("Enfant").Cells(4, 20 + X)
Next X

Me.TextBox20.Text = Format(Val(TextBox19.Text) * M, "0.00")
End Sub

Sans vouloir t'offenser :

Ce projet est insensé !

Essaie de supprimer :

(ColumnAbsolute:=False)

Pour la deuxième question, je n'ai pas de réponse pour l'instant... Prévoir un délai !

EDIT : Moi je ne sais pas gérer un truc comme ça.

Donc je l'ai gérer (un peu) à ma manière... Voir en pièce jointe.

Je dis un peu car si vraiment j'avais voulu gérer ça proprement j'aurai du tout effacer et repartir à 0

Mébon... Vu le temps qui nous est imparti il faut bien faire avec ce qu'on a...

Tu ne pouvais pas aller à 110 car tu avais oublié de renommer tous tes Label au dela de 42...

A+

Ok merci pour ton aide galopin01

je vais regarder ton fichier

Voici une version nettement plus aboutie.

A+

Merci Galopin01 pour ton aide. Je ne comprends pas tout à ton code, mais cela fonctionne et c'est le principale.

Je vais m'en servir tout l'été.

Bonjour

Galopin01, j'ai un soucis avec ton code.

Quand je coche une activité le compteur descend (c'est normal) par contre quand je décoche le compteur descend aussi.

bonjour,

Dans le module "Main" essaie de remplacer cette macro :

Sub CalcCot(i%)
Dim X As Integer, k As Integer
Dim M As Double
For X = 3 To 110
      If usfEte.Controls("CheckBox" & X).Value = True Then
         M = M + Worksheets("Enfant").Cells(4, 20 + X).Value
         k = k + 1
      End If
   Next X
   usfEte.Controls("lNb" & i).Caption = Val(usfEte.Controls("lNb" & i).Caption) - 1
   usfEte.TextBox20.Text = Format(M, "0.00")
   usfEte.TextBox19 = i
End Sub

A+

Cela ne fonctionne pas

J'aimerais aussi faire des tri sur les colonne d'activité

Corriger à la fin

   usfEte.TextBox19 = k
End Sub

Pour faire un tri c'est pas simple car ton tableau est un peu mal foutu...

Néanmoins il y a plusieurs possibilités :

La plus simple :
Afficher la ligne 5 et filtrer sur cette ligne

Compte tenu du temps qui nous reste je pense que c'est la seule solution applicable.

Ça te laisse quand même une possibilité pas trop chiante de faire une liste quotidienne des participants par activité

A+

Rechercher des sujets similaires à "probleme code"