listbox cascade et écriture en condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gusgus13

XLDnaute Nouveau
Bonjour le forum !

J'ai besoin de votre aide ! Le plus gros est fait mais je n'arrive pas à le terminer.
J'ai 3 colonnes
A: Groupes (listbox)
B: Sous-groupes (listbox)
C: Paramètres (textbox)

Le but est de choisir le groupe et le sous groupe et d'inscrire la valeur de la textbox dans la colonne C.
Cela marchait et marche partiellement depuis que j'ai ajouté des conditions.

Si le paramètre existe déjà pour le groupe et le sous groupe sélectionner, alors refuser l'écriture.
Si le paramètre n'existe pas pour un sous groupe alors accepter l'écriture.
Mais des groupes peuvent posséder des sous-groupes de même nom.
explications:
GROUPE SOUS-GROUPE PARAMETRE
AAA A1 SSS > autoriser l'écriture 1 seule et unique fois.
AAA B1 SSS > création possible car le paramètre appartient à un sous groupe différent
BBB A1 SSS > création possible car le paramètre appartient à un groupe différent
CCC C1 SSS > création possible car le paramètre appartient à un groupe et ss groupe différent
etc
...

A l'heure actuelle, le programme bloque une fois correctement (ex : AAA A1 SSS).
Sinon il a besoin d'écrire à nouveau le groupe, le sous-groupe et le paramètre pour ensuite interdire l'écriture.
Il fait ça dans le mauvaise ordre !
De plus, à l'insertion d'un nouveau paramètre, une ligne doit s'ajouter en dessous et non au dessus du groupe existant...

Il faut lancer le userform mode_admin_ajout_parametre.
Le programme appelle la fonction ecriture.

Auriez vous une idée ?
Il n'y a pas grand chose à faire, juste à jeter un coup d’œil !

Merci de votre aide !
Et au plaisir de vous lire !!
 

Pièces jointes

Re : listbox cascade et écriture en condition

bonjour Gusugus
pas bien compris
dans bouton suivant simplifie
juste tester les objets(combox et textbox) non vides
ensuite appeler ecriture
suit un exemple incomplet

Code:
Public Function Ecriture()
Dim cel As Range
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer
Dim DerniereLigne As Integer

DerniereLigne = Range("A65536").End(xlUp).Row

For Each cel In Range("A2:A" & DerniereLigne) 'si existe sort
If cel & cel.Offset(0, 1) & cel.Offset(0, 2) = Mode_admin_ajout_parametre.ComboBox1.Value & Mode_admin_ajout_parametre.ComboBox2.Value & Mode_admin_ajout_parametre.TextBox1.Value Then
MsgBox "existe déjà"
Exit Function
End If
Next

For Each cel In Range("A2:A" & DerniereLigne) 'si sous groupe n'existe pas,ajoute
If cel = Mode_admin_ajout_parametre.ComboBox1.Value And cel.Offset(0, 1) = "" Then
cel.Offset(0, 1) = Mode_admin_ajout_parametre.ComboBox2.Value
cel.Offset(0, 2) = Mode_admin_ajout_parametre.TextBox1.Value
Exit Function
'Else
'Cells(DerniereLigne, 1) = Mode_admin_ajout_parametre.ComboBox1.Value
'Cells(DerniereLigne, 2) = Mode_admin_ajout_parametre.ComboBox2.Value
End If
Next

For Each cel In Range("A2:A" & DerniereLigne) 'si groupe et sous groupe existe,ajoute
If cel = Mode_admin_ajout_parametre.ComboBox1.Value And cel.Offset(0, 1) = Mode_admin_ajout_parametre.ComboBox2.Value And cel.Offset(0, 2) = "" Then
cel.Offset(0, 2) = Mode_admin_ajout_parametre.TextBox1.Value
Exit Function
End If


Next

End Function

si çà ne va pas tu nous revient
à bientôt
 
Re : listbox cascade et écriture en condition

Bonjour Bebere, Le forum,

Désolé du retard, je travaillais sur un autre programme entre temps!
Ton idée est juste géniale, et ça correspond exactement à ce que je voulais.
Comment se prendre la tête alors que l'on pouvait faire plus simple !
Merci de ta réponse et de ton aide !
Ce forum est juste génial !

Merci et à la prochaine !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
829
Retour