Suppression totale impossible via macro

babas

XLDnaute Junior
Bonjour tout le monde,

Après une petite période d'absence je reviens vers vous pour un nouveau problème !

Je vous explique rapidement et simplement la situation

J'ai un programme qui arrive à la fin de sa construction mais j'ai un soucis dessus.

Sur ce programme je rentre des personne en fonction de leur formation (niveau 1, 2, 3 et 4).
Il y a la possibilité via un userform de faire passer un élève dans la catégorie supérieure lorsqu'il remplit les conditions. Tous les élèves sont inscrits dans la liste correspondantes à leur niveau (listes I), ils sont donc supprimés d'une liste dès qu'ils change de niveau pour apparaître sur la liste du niveau supérieur.
Ils sont aussi inscrits sur une liste sur laquelle il ne bouge pas. Lorsqu'il passe dans la catégorie supérieure il restent inscrits sur la précédente et sont inscrits sur la nouvelle. (là, pas de problèmes)

Ensuite j'ai un userform pour modifier ou supprimer un élève. Là le problème se pose. Pour supprimer je choisis la catégorie via des optionbutton.

Si l'élève est dans la 4ème catégorie mais qu'il est auparavant passé dans les catégories 1, 2 & 3 pas de soucis, ça supprime tout.

En revanche, si il rejoins la formation en cours (mutation d'un autre organisme) il peut être insérer directement dans la catégorie 3 (par exemple). De ce fait, il n'apparait pas dans les listes des catégories précédentes. Et c'est là que le problème se pose.

En effet, si la macro ne trouve pas l'élève dans une catégorie il ne supprime rien !

Je suis désolé mais je ne peux pas vous joindre mon fichier qui est confidentiel. Je vous mets le code de la macro que j'utilise
Code:
lig13 = Sheets("NOM").Cells(Rows.Count, 4).End(xlUp).Row
            Set x13 = Sheets("NOM").Range("D5:D" & lig13).Find(Cor.ComboBox1.Value, , xlValues, xlWhole, , , False)
            If Not x13 Is Nothing Then
            xad13 = x13.Row
Lign = Sheets("Nom").Range("D400").End(xlUp).Row + 1
            Sheets("NOM").Range("D" & xad13) = Cor.txt_10 & " " & Cor.Txt_11
            Sheets("NOM").Range("E" & xad13) = Cor.txt_10
            Sheets("NOM").Range("F" & xad13) = Cor.Txt_11

Voici un extrait des codes que j'utilise (tous basés à l'identique). Ce code permet de rechercher la valeur du combobox dans des colonne spécifique et ensuite de remplacer ou supprimer les cases correspondantes par les valeurs des textbox.

Le problème, dès que ce code ne trouve pas la valeur dans une liste la macro ne s'effectue pas.

Avez vous une solution à ce petit problème qui m'handicap de façon plutôt importante.

En vous remerciant pour la lecture de ce post

J'espère avoir été assez compréhensible, si vous avez des questions pour éclaircir la chose n'hésitez pas...

Merci d'avance pour vos réponses
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
239
Réponses
3
Affichages
203

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 185
dernier inscrit
salhit