supprimer au fur et à mesure

jejeaure

XLDnaute Junior
Bonsoir je voudrais si du moins c'est possible que lorsque j'utilise mes menus déroulants avec des noms, que le nom disparaisse de la liste au fur et à mesure que j'en choisi un Merci beaucoup pour vos réponses PS: sachant qu'il y aura 93 listes déroulantes
 

Pièces jointes

  • menu déroulant.xls
    26.5 KB · Affichages: 135
  • menu déroulant.xls
    26.5 KB · Affichages: 137
  • menu déroulant.xls
    26.5 KB · Affichages: 136
Dernière édition:

fanfan38

XLDnaute Barbatruc
Re : supprimer au fur et à mesure

Bonjour
Pour ce faire dans ce genre de liste il n'y a qu'une solution c'est de supprimer ce nom de la source. A étudier travailler avec une copie de la source...Une réinit de la source au démarrage ou en appuyant sur un bouton?...
J'ai pas pigé à quoi sert les listes de nom de la colonne V à AP...
A+ François
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Bonjour
Pour ce faire dans ce genre de liste il n'y a qu'une solution c'est de supprimer ce nom de la source. A étudier travailler avec une copie de la source...Une réinit de la source au démarrage ou en appuyant sur un bouton?...
J'ai pas pigé à quoi sert les listes de nom de la colonne V à AP...
A+ François

En faite les colonnes V à AP sont là pour recevoir les noms d'une feuille de prévision, les personnes me donnent leurs disponibilitées et à l'aide de macro les noms se répartissent suivant les dispo matin après-midi nuit journée, beaucoup de paramètre entre en compte, le problème c'est qu'une fois que j'ai les noms dans les menus déroulant, lorsque je choisi un nom, je peux le resélectionné par inadvertance et faire des doublons dans ma liste, j'avais une solution pour supprimé au fur et à mesure avec la fonction "insertion,nom,définir", mais il me faut faire 4 de ces fonctions pour une liste déroulante c'est à dire un peu moins de 400 fonctions pour faire 1 mois.... merci pour vos réponses et je pense que je vais hélas me taper les 400 fonctions:(
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Bonjour,
Ce n'est pas une formule mais une macro qui se lance à chaque changement sur la feuille.
Clic droit sur le nom de la feuille en bas à gauche et choisir visualiser le code

A+ François
C'est hélas encore moi, j'ai vu la macro et j'essayé de la comprendre car je débute;je sais qu'au début tu indiques les dimensions du tableau, puis chaque colonne du tableau qui dois prendre là ou atterrisse les noms par contre à partir de :"End Select
If lig > 25 Then moncol = moncol + 2
If lig > 14 And lig < 26 Then moncol = moncol + 1
For i = 2 To 20
If Cells(i, moncol).Value = Target.Value Then
Cells(i, moncol).ClearContents
Exit For
End If
Next" je ne comprends plus rien
désolé de te solliciter encore:eek:
 

fanfan38

XLDnaute Barbatruc
Re : supprimer au fur et à mesure

Après la ligne 25 c'est l'equipe de nuit les données sont 2 colonnes + loin que l'equipe du matin
De la ligne 14 à la ligne 25 c'est l'equipe d'apres midi les données sont une colonne après l'equipe du matin
For i=2 to 20 c'est une boucle pour analyser les lignes 2 à 20
cells(i, moncol) i étant la ligne (boucle) moncol étant la colonne
Donc si le nom qui est dans la cellule en cours de lecture est le même que le nom qui vient d'etre selectionné...on efface le nom et on sort de la boucle...

A+ François
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Après la ligne 25 c'est l'equipe de nuit les données sont 2 colonnes + loin que l'equipe du matin
De la ligne 14 à la ligne 25 c'est l'equipe d'apres midi les données sont une colonne après l'equipe du matin
For i=2 to 20 c'est une boucle pour analyser les lignes 2 à 20
cells(i, moncol) i étant la ligne (boucle) moncol étant la colonne
Donc si le nom qui est dans la cellule en cours de lecture est le même que le nom qui vient d'etre selectionné...on efface le nom et on sort de la boucle...

A+ François

ok je vais voir merci fanfan38,car je pense retenir ta solution qui n'est pas simple pour moi mais beaucoup plus rapide; je te tiens au courant
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Mais non on est pas comme ça...
Voilà ma solution: copie des données (ici + loin mais copie de la feuille envisageable)
Ensuite à chaque saisie effacement du nom

A+ François

Salut fanfan38, j'y suis presque j'ai bien compris comment faire pour tout le tableau, mais je n'arrive pas à modifier la macro lorsque j'ai plusieurs tableaux à la suite, l'un en dessous de l'autre, merci pour tes réponses
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Bonjour
Là il faut être plus précis ou mettre un fichier avec l'endroit où ça bloque...ou un exemple qui crée le même problème...

A+ François

Bonjour, j'ai bien compris comment fonctionnait la macro mais avec un seul tableau, le problème c'est que j'ai plusieurs tableaux alors quand je veux modifier la macro, ça bug car j'ai remarqué que je répètais plusieurs fois les même "case is" vu que les tableaux sont les un sur les autres et utilsent les mêmes colonnes.Merci pour toute l'aide apportée
 

Pièces jointes

  • menu déroulant.xls
    46 KB · Affichages: 85
  • menu déroulant.xls
    46 KB · Affichages: 90
  • menu déroulant.xls
    46 KB · Affichages: 93
Dernière édition:

fanfan38

XLDnaute Barbatruc
Re : supprimer au fur et à mesure

Bonjour
Il faut d'abord enlever: If lig > 34 Then Exit Sub (en début de macro)
ensuite le but est de dire à l'ordi ou ce trouve la colonne correspondante.
Donc pour l'instant on devait traiter que les colonnes
Maintenant on va traiter aussi les lignes
Case Is = 4
Select Case lig
Case Is < 15 'matin 1° tableau
moncol = 22
Case lig > 14 And lig < 26 'am
moncol = 23
Case lig > 25 And lig < 35 'nuit
moncol = 24
Case lig > 37 And lig < 68 'matin tableau 2
moncol = 43
ect...
End Select
Case Is = 6
Comme tu le vois dans une commande case on remet une autre commande select case
Le but étant de dire à l'ordi les personnes qui sont de quart ce jour là sont dans cette colonne là...
Il faut aussi enlever
If lig > 25 Then moncol = moncol + 2
If lig > 14 And lig < 26 Then moncol = moncol + 1
Puisque maintenant on doit préciser pour chaque ligne...

A+ François
 

jejeaure

XLDnaute Junior
Re : supprimer au fur et à mesure

Bonjour
Il faut d'abord enlever: If lig > 34 Then Exit Sub (en début de macro)
ensuite le but est de dire à l'ordi ou ce trouve la colonne correspondante.
Donc pour l'instant on devait traiter que les colonnes
Maintenant on va traiter aussi les lignes
Case Is = 4
Select Case lig
Case Is < 15 'matin 1° tableau
moncol = 22
Case lig > 14 And lig < 26 'am
moncol = 23
Case lig > 25 And lig < 35 'nuit
moncol = 24
Case lig > 37 And lig < 68 'matin tableau 2
moncol = 43
ect...
End Select
Case Is = 6
Comme tu le vois dans une commande case on remet une autre commande select case
Le but étant de dire à l'ordi les personnes qui sont de quart ce jour là sont dans cette colonne là...
Il faut aussi enlever
If lig > 25 Then moncol = moncol + 2
If lig > 14 And lig < 26 Then moncol = moncol + 1
Puisque maintenant on doit préciser pour chaque ligne...

A+ François

Merci beaucoup jvais essayé dans la journée je te tiens au courant merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal