XL 2019 Validation de données

  • Initiateur de la discussion Initiateur de la discussion Arawaza
  • Date de début Date de début

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 !

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

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

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:
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

- 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
5
Affichages
420
  • Question Question
XL 2019 B
Réponses
10
Affichages
412
Retour