Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 afficher la date du dernier RdV pris

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me re-voilà avec un nouveau besoin que je ne sais pas résoudre.
J'ai bien tenté, testé mais c'est hors de ma portée

Je fais donc à nouveau appel à votre expertise.
Voici mon besoin :
- Dans la feuille "RendezVous", j'ai tous les RdVs pris pour nos Clients avec les dates d'appels,
- Dans la feuille "Derniers_RdVs", je voudrais que s'affiche en face de chaque Client concerné les dates des :
- 3 derniers RdVs pris (si y'a au moins 3),
- 2 derniers RdVs pris (si y'a pas 3),
- dernier RdV pris (si y'a pas 2),

Auriez-vous la solution formule ou macro ?

Je joins le fichier test,
Avec mes remerciement,
Je vous souhaite, à toutes et à tous, une belle journée
Ammicalement,
lionel,
 

Pièces jointes

  • RdVs_dernier.xlsm
    84.5 KB · Affichages: 18
Solution
Re, salut Bruno,

Oui nous allons bien mais nous sommes prudents et nous nous confinons en Normandie.

De mon coté j'ai élaboré ces 4 macros affectées aux 4 boutons :
VB:
Sub tri_RdV()
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
    .Rows.Hidden = False
    .Rows("2:" & Application.CountA([A:A])).Sort .[A1], xlAscending, Header:=xlYes 'tri sur le numéro de RdV
End With
End Sub

Sub tri_Clts()
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
    .Rows.Hidden = False
    .Rows("2:" & Application.CountA([A:A])).Sort .[F1], xlAscending, Header:=xlYes 'tri sur le numéro de clienr
End...

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un essai avec grande.valeur() validation matricielle

VB:
=GRANDE.VALEUR(SI(RendezVous!$F$3:$F$1000=Derniers_RdVs!$D3;RendezVous!$L$3:$L$1000);1)

JHA
 

Pièces jointes

  • RdVs_dernier.xlsm
    86.7 KB · Affichages: 13

GALOUGALOU

XLDnaute Accro
bonsoir usine à gaz bonsoir jha bonsoir le forum

Si le client est supprimé dans l'onglet rendez vous, il n'y a rien à présenter dans l'onglet dernier rdv, donc la formule renvoie une erreur. Normal.

Pour ne pas avoir de code erreur utiliser la fonction sierreur
VB:
=SIERREUR(GRANDE.VALEUR(SI(RendezVous!$F$3:$F$999=Derniers_RdVs!$D32;RendezVous!$L$3:$L$999);1);"")
validation matricielle
cordialement
galougalou
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un bon WE
Ne souhaitant pas utiliser de formules matricielles, j'ai revu ma copie lol.
Et réduit ma demande à la recherche du dernier RdV fait au lieu des 3 derniers.

J'ai fait cette formule qui fonctionne mais qui ne me semble pas bien faite :

"=SI(MAX(SI(RendezVous!$F$3:$F$1000=Derniers_RdVs!$D3;RendezVous!$L$3:$L$1000);0)=0;"Priorité";MAX(SI(RendezVous!$F$3:$F$1000=Derniers_RdVs!$D3;RendezVous!$L$3:$L$1000);0))"

Pourriez-vous me corriger ?
Avec mes remerciements,
lionel,
 

job75

XLDnaute Barbatruc
Bonjour Lionel, le fil,

Pour visualiser facilement le ou les derniers rendez-vous il suffit de trier manuellement ou par macro le tableau sur les 2 colonnes F et L, cette dernière du plus récent au plus ancien.

A+
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour BrunoM45,
Effectivement, je suis d'accord car ce n'est pas dans mes habitudes.
Mais j'avais posé la question sur Excel-pratique il y a quelques temps et le fil a disparu ... c'est pour cela que je l'ai posté ici
Merci à toi de m'avoir apporté une fonction personnalisée qui fonctionne super bien
J'allais en informer le forum en mettant le lien :

Bonjour Gérard, merci pour ta réponse mais en automatisant, cela me fait gagner du temps
lionel,
 

job75

XLDnaute Barbatruc
Re, salut Bruno,

Oui nous allons bien mais nous sommes prudents et nous nous confinons en Normandie.

De mon coté j'ai élaboré ces 4 macros affectées aux 4 boutons :
VB:
Sub tri_RdV()
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
    .Rows.Hidden = False
    .Rows("2:" & Application.CountA([A:A])).Sort .[A1], xlAscending, Header:=xlYes 'tri sur le numéro de RdV
End With
End Sub

Sub tri_Clts()
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
    .Rows.Hidden = False
    .Rows("2:" & Application.CountA([A:A])).Sort .[F1], xlAscending, Header:=xlYes 'tri sur le numéro de clienr
End With
End Sub

Sub tri_dates()
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
    .Rows.Hidden = False
    .Rows("2:" & Application.CountA([A:A])).Sort .[L1], xlDescending, Header:=xlYes 'tri sur les dates, les plus récentes en haut
End With
End Sub

Sub Filtre()
Dim num, R As Range
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("RendezVous")
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
    num = .Cells(ActiveCell.Row, 6) 'numéro de client sélectionné
    .Rows.Hidden = False
    With .Rows("2:" & Application.CountA([A:A]))
        .Sort .Columns(6), xlAscending, , .Columns(12), xlDescending, Header:=xlYes 'tri sur 2 colonnes
        .AutoFilter 6, num
        Set R = .SpecialCells(xlCellTypeVisible).EntireRow
        .AutoFilter 'filtre automatique
        .Hidden = True
        R.Hidden = False
    End With
    Application.Goto .[A1], True
End With
End Sub
Le bouton Filtre fait le travail demandé sur ce fil.

A+
 

Pièces jointes

  • RdVs_dernier(1).xlsm
    81.8 KB · Affichages: 7

Discussions similaires

Réponses
22
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…