Je souhaite que les listes de validation de mes cellules soient
dynamiques en fonction de ce qui est choisi et ce, jusqu'à épuisement
d'une liste...
Je m'explique, je souhaite allouer par exemple 3 objets dans 3
cellules différentes.
Dans la première cellule, je vais choisir dans la liste parmis objet1,
objet2 et objet3 car aucun n'est encore alloué. Mais pour la seconde
cellule, admettons que j'ai déjà choisi objet2 pour la première
cellule, je voudrais que la liste de validation se mette à jour
automatiquement par objet1 et objet3" uniquement...
Est-ce facilement faisable ? Merci de vos réponses...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ChrisV
Bonjour Pier,
Solution alternative... afin d'éviter l'usine à gaz: interdire la sélection d'un item de la liste déroulante si il est déjà présent sur une des listes déjà renseignée...
En supposant que les listes déroulantes soient situées en B2; C2 et D2 et que les données de ces listes proviennent d'une zone nommée Zn. (par les menus, pour la plage B2:D2, Données/Validation.../Options/Autoriser: Liste/Source: =Zn)
Dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_Change(ByVal c As Range) If c.Address = "$B$2" And Not IsEmpty(c) Then _ If c = [C2] Or c = [D2] Then msG If c.Address = "$C$2" And Not IsEmpty(c) Then _ If c = [B2] Or c = [D2] Then msG If c.Address = "$D$2" And Not IsEmpty(c) Then _ If c = [B2] Or c = [C2] Then msG End Sub
Private Sub msG() inF = MsgBox("Choix non-autorisé !", vbInformation, "Désolé...") ActiveCell.ClearContents End Sub
ChrisV
"Pier" a écrit dans le message de news:
Bonjour,
Je souhaite que les listes de validation de mes cellules soient dynamiques en fonction de ce qui est choisi et ce, jusqu'à épuisement d'une liste... Je m'explique, je souhaite allouer par exemple 3 objets dans 3 cellules différentes.
Dans la première cellule, je vais choisir dans la liste parmis objet1, objet2 et objet3 car aucun n'est encore alloué. Mais pour la seconde cellule, admettons que j'ai déjà choisi objet2 pour la première cellule, je voudrais que la liste de validation se mette à jour automatiquement par objet1 et objet3" uniquement...
Est-ce facilement faisable ? Merci de vos réponses...
Pierre.
Bonjour Pier,
Solution alternative... afin d'éviter l'usine à gaz:
interdire la sélection d'un item de la liste déroulante si il est déjà
présent sur une des listes déjà renseignée...
En supposant que les listes déroulantes soient situées en B2; C2 et D2 et
que les données de ces listes proviennent d'une zone nommée Zn.
(par les menus, pour la plage B2:D2,
Données/Validation.../Options/Autoriser: Liste/Source: =Zn)
Dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_Change(ByVal c As Range)
If c.Address = "$B$2" And Not IsEmpty(c) Then _
If c = [C2] Or c = [D2] Then msG
If c.Address = "$C$2" And Not IsEmpty(c) Then _
If c = [B2] Or c = [D2] Then msG
If c.Address = "$D$2" And Not IsEmpty(c) Then _
If c = [B2] Or c = [C2] Then msG
End Sub
Private Sub msG()
inF = MsgBox("Choix non-autorisé !", vbInformation, "Désolé...")
ActiveCell.ClearContents
End Sub
ChrisV
"Pier" <pierre_gibelin@yahoo.fr> a écrit dans le message de
news:36911d94.0407231143.40a51d23@posting.google.com...
Bonjour,
Je souhaite que les listes de validation de mes cellules soient
dynamiques en fonction de ce qui est choisi et ce, jusqu'à épuisement
d'une liste...
Je m'explique, je souhaite allouer par exemple 3 objets dans 3
cellules différentes.
Dans la première cellule, je vais choisir dans la liste parmis objet1,
objet2 et objet3 car aucun n'est encore alloué. Mais pour la seconde
cellule, admettons que j'ai déjà choisi objet2 pour la première
cellule, je voudrais que la liste de validation se mette à jour
automatiquement par objet1 et objet3" uniquement...
Est-ce facilement faisable ? Merci de vos réponses...
Solution alternative... afin d'éviter l'usine à gaz: interdire la sélection d'un item de la liste déroulante si il est déjà présent sur une des listes déjà renseignée...
En supposant que les listes déroulantes soient situées en B2; C2 et D2 et que les données de ces listes proviennent d'une zone nommée Zn. (par les menus, pour la plage B2:D2, Données/Validation.../Options/Autoriser: Liste/Source: =Zn)
Dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_Change(ByVal c As Range) If c.Address = "$B$2" And Not IsEmpty(c) Then _ If c = [C2] Or c = [D2] Then msG If c.Address = "$C$2" And Not IsEmpty(c) Then _ If c = [B2] Or c = [D2] Then msG If c.Address = "$D$2" And Not IsEmpty(c) Then _ If c = [B2] Or c = [C2] Then msG End Sub
Private Sub msG() inF = MsgBox("Choix non-autorisé !", vbInformation, "Désolé...") ActiveCell.ClearContents End Sub
ChrisV
"Pier" a écrit dans le message de news:
Bonjour,
Je souhaite que les listes de validation de mes cellules soient dynamiques en fonction de ce qui est choisi et ce, jusqu'à épuisement d'une liste... Je m'explique, je souhaite allouer par exemple 3 objets dans 3 cellules différentes.
Dans la première cellule, je vais choisir dans la liste parmis objet1, objet2 et objet3 car aucun n'est encore alloué. Mais pour la seconde cellule, admettons que j'ai déjà choisi objet2 pour la première cellule, je voudrais que la liste de validation se mette à jour automatiquement par objet1 et objet3" uniquement...
Est-ce facilement faisable ? Merci de vos réponses...