XL 2019 Validation de données

Arawaza

XLDnaute Junior
Bonjour à tous,

Je demande votre aide car sur un tableau Excel, je souhaite mettre en place une validation de données. Jusqu'à la pas de souci.

objectif : le fichier est un fichier de suivi de transport de marchandise avec des affectation de camion à des chauffeur. l'objectif est que lorsqu'un camion est en panne ou en révision, il n'est plus possible de l'affecter à un chauffeur tout simplement.

Avez-vous une solution ? (cf. fichier temporaire, il reste des amélioration à faire)
Merci
 

Pièces jointes

  • transport montagne.xlsx
    20.8 KB · Affichages: 18

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Une proposition à base de tableaux structurés, formule et nom dans le fichier joints (Feuille Tracteurs). Car je suppose que ce sont des Tracteurs dont vous parlez quand vous dites Camions.

Je n'ai mis en place la liste que pour la première colonne 'Tracteur' du planning. A vous de compléter.

voir la définition du nom 'ListeTracteursDispos'
=DECALER(T_Tracteurs_Dispos[Disponibles];;;MAX(NB.SI(T_Tracteurs_Dispos[Disponibles];"><");1))

cordialement
 

Pièces jointes

  • transport montagne.xlsx
    31.7 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour Arawaza,

Pour bloquer la liste de validation en C2 quand B2 n'est pas vide utiliser :
Code:
=SI(ESTVIDE(B2);Tracteur!$A$1:$A$3)
à appliquer aux cellules de paramètres identiques.

Bien sur si C2 a été renseignée et qu'ensuite on remplit B2 il faut effacer C2.

Edit : bonjour Roblochon; pas rafraîchi.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Bien sur si C2 a été renseignée et qu'ensuite on remplit B2 il faut effacer C2.
Cela peut se faire automatiquement avec cette macro évènementielle, voyez le fichier .xlsm joint :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Range
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
On Error Resume Next 'si aucune SpecialCell
Set a = Intersect([B:B,I:I,P:P,W:W,AD:AD], Rows("2:" & Rows.Count)).SpecialCells(xlCellTypeConstants)
For Each a In a.Areas
    a.Offset(, 1) = "" 'effacement des cellules à droite
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

  • transport montagne(1).xlsm
    30.4 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
315 136
Messages
2 116 630
Membres
112 817
dernier inscrit
subadoulaye