Bonjour,
Je souhaiterai combiner une recherche de date et de nom dans une recherchev et je n’y parviens pas.
J’ai retranscris mon problème dans le fichier joint.
Votre aide est vraiment la bienvenue SVP.
Tu as raison, j’ai du mal formuler ma problématique, mais ce n’est pas toujours évident.
Je retente ma chance via le nouveau fichier “problématique Excel MJ v2” en PJ.
L’idée : fournir à mes clients un récapitulatif mensuel de jour de livraison via l’onglet “plan transport” via une utilisation ultra simple.
A travers ce seul onglet, mon client renseigne sa ville, le mois de son souhait et des “X” apparaissent dans le calendrier automatique du même onglet.
Si on change de mois et/ou de ville, le calendrier se met à jour.
Mon job consiste à mettre à jour ma base de données contenue dans l’onglet “tableau détaillé”. Cet onglet pas très sexy ni digeste sera masqué à terme.
Je l’alimente toutefois au fil de l’eau via des dates de livraison, les fameux “X”, en fonction des besoins.
Si tu as tout lu jusque là, MERCI BEAUCOUP
Ceci étant, j’ai tenté d’inclure ta formule dans la cellule B17 de l’onglet transport" (cellule en vert).
Je ne vois pas à quel moment ma table de “X” ces cellules B4:BZ102 de l’onglet "tableau détaillé est sollicitée.
Si tu as encore le courage de me venir en aide après tout ça, j’allume un cierge
Pas de formule, une macro, touche ALT & F11 pour la voir dans la feuille 1
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E4,E6:F6")) Is Nothing Then
Dim Ws As Worksheet, Wd As Worksheet, lig%, Col%, Mag$, i%, j%, Dc%
Set Ws = Sheets("tableau détaillé")
Set Wd = Sheets("plan transport")
Dc = Ws.Cells(3, Columns.Count).End(xlToLeft).Column
j = 2
Mag = Application.WorksheetFunction.Match(Wd.Cells(4, 5), Ws.Range("A1:A200"), 0)
Wd.Range("B14:H14,B17:H17,B20:H20,B23:H23,B26:H26").Interior.Color = RGB(255, 255, 255)
For lig = 13 To 25 Step 3
For Col = 2 To 8
If Month(Wd.Cells(lig, Col).Value) <> Wd.Cells(6, 5) Then Exit For
For j = 2 To Dc
If Wd.Cells(lig, Col).Value = Ws.Cells(3, j).Value And Ws.Cells(Mag, j).Value = "X" Then
Wd.Cells(lig + 1, Col).Interior.Color = RGB(0, 255, 0)
End If
Next j
Next Col
Next lig
End If
End Sub
C’est une macro qui n’est pas dans un module, mais dans une feuille afin de pouvoir être activée à chaque changement des cellules de villes, mois et année
Worksheet_change —> sur changement dans la feuille
déjà que je ne suis pas fort en formule, alors en VBA…
La couleur verte est très bien ; comment rajouter le mot “livraison” dans la cellule concernée STP ?
Comme j’avais cette idée en tête, je te la fait parvenir
Plus besoin de marquer par une croix dans l’onglet “Tableau détaillé”
Tu choisis la ville, le mois et l’année
cela t’affiche les jours concernés
si tu veux rajouter une journée, clic gauche te l’affiche et te place une croix dans le tableau
si tu veux supprimer une journée, clic droit l’ôte ainsi que dans le tableau
si la date n’est pas comprise dans le tableau, message d’erreur
Peut-être plus simple à remplir, à toi de voir
Merci bp pour toutes tes recherches et ton implication à me dépanner.
Cette idée est intéressante mais la précédente correspond mieux à mon besoin et tes derniers correctifs sont parfaits.
Je sais que j’abuse, mais, comme disait Coluche “tant que je gagne je joue…”.
Autrement dit, n’hésite pas à me dire stop qd tu estimes que je pousse le bouchon trop loin.
Le calendrier de l’onglet “tableau détaillé” va évoluer dans le temps au fil de mes mises à jour.
Aussi, j’aimerai renseigner sur la page “plan transport” la date max de mise à jour.
En l’occurrence, comment insérer une ligne précisant la date max renseignée sous la forme par exemple :
“tableau mis à jour jusqu’au samedi 23 mars”, date max où est renseigner un “X”.
Et que cette date prenne en compte mes mises à jour à venir avec comme critère le jour le plus loin dans le temps renseigné d’un “X”.
En espérant être à peu près clair…