Je débarque dans ce projet, et il me faut un peu de temps pour tout comprendre.
Je suis d'accord avec ce qui est dit plus haut: il faut remplacer les filtres (cases avec une flèche v pour sélectionner les lignes affichées) par des listes déroulantes
ok merci pour ton temps Laurent mais je ne sais pas trop ou m'orienter je veux que le tout ressemble a ce qu'il y a présentement mais j'aimerais bien le tableau qui déroule au bas .
j'avais modifier des couleur et ajouter cette formule pour ce qui est de la rechercher dans le tableau et sa allais très très bien mais mon tableau est trop gros soudainement pour etre envoyer sur le forum .
bref je ne suis plus capable de réinitialiser les donner inscrite au tableau .
plus bas de ce message ces la formule que j'avais ajouter pour la rechercher par mot clé dans le tableau qui fonctionnais très bien sauf en D qui nais pas pris en charge.
voila je ne sais pas comment on pourrais mettre le tableau ergonomique facile a ajouter des élément toute en gardant les option de...
- recherche de doublons
- recherche intelligente par mot ou phrase
- calcule automatique
-d'ajout de ligne en cliquand + avec date ou encore de
- référance de cout comme le proposais
chris ou mieux si tu peur
- bouton réinitialisation ( plus fonctionnel je ne sais pas pourquoi.
ce que je comptais ajouter est...
- a liste fournisseur mettre menue déroulant double en E soie domaine exemple électriciter et ensuite la compagnie.
- l'ors de l'enregistrer je veux que les donner du tableau complet s'enregistre pdf et comme a l'abituel en excel
- le rendre avec n aspect plus comme une application
jespere que tu peu me donner un coup de main je suis un peu perdu la .
et j'ai besoin de ce tableau rapidement ...
un énorme merci
voici la formule m
entionner plus haut
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LOt As ListObject, LMax&, L&, Dt
If Target.Rows.Count <> 1 Or Target.Columns.Count <> 1 Then Exit Sub
Set LOt = Me.ListObjects(1): LMax = LOt.ListRows.Count: L = Target.Row - LOt.HeaderRowRange.Row
If Intersect(LOt.ListColumns(1).Range.Offset(1).Resize(LMax + 1), Target) Is Nothing Then Exit Sub
' Ajoutez cette ligne pour changer la couleur de fond de la cellule sélectionnée
Target.Interior.Color = RGB(255, 0, 0) ' Rouge
' Reste du code existant
UFmCalend.Posit Target, 1, 0.9
Dt = UFmCalend.Saisie(IIf(L > LMax, "Nouvelle ligne", "Ligne " & L) & ", le :", IIf(L > LOt.ListRows.Count, Date, Target.Value), Empty)
If IsEmpty(Dt) Then Exit Sub
If L > LMax Then LOt.ListRows.Add.Range(1, 1).Value = Dt Else Target.Value = Dt
LOt.Sort.Apply
' Nouvelle partie pour la recherche par mot-clé
Dim keyword As String
keyword = "MotCleARechercher UnAutreMot"
' Vérifiez si au moins un des mots-clés est présent dans une des catégories
If RechercheIntelligente(LOt.ListColumns(2).DataBodyRange.Cells(L).Value, keyword) Or _
RechercheIntelligente(LOt.ListColumns(4).DataBodyRange.Cells(L).Value, keyword) Then
' Si au moins un des mots-clés est trouvé, effectuez l'action souhaitée (par exemple, changer la couleur)
Target.Interior.Color = RGB(0, 255, 0) ' Vert
End If
' Reste du code existant
Application.EnableEvents = False
Application.GoTo LOt.ListColumns(1).DataBodyRange.Find(Dt)
Application.EnableEvents = True
End Sub
Function RechercheIntelligente(phrase As String, motsCles As String) As Boolean
' Cette fonction retourne VRAI si au moins un des mots-clés est trouvé dans la phrase complète, indépendamment de la casse
Dim mots As Variant
Dim mot As Variant
mots = Split(UCase(motsCles), " ")
For Each mot In mots
If InStr(1, UCase(phrase), mot, vbTextCompare) > 0 Then
RechercheIntelligente = True
Exit Function
End If
Next mot
RechercheIntelligente = False
End Function