Bonjour,
Dans l'onglet NbRDV je calcule le nombre de RDV du client selon les mois.
J'ai mis la formule suivante :
Elle semble fonctionner.
Par contre :
Est-il possible par une macro de mettre à jour le tableau de l'onglet NbRDV au sur et à mesure de la saisie de nouveau RDV dans l'onglet RDV ?
Et de ce fait, d'incrémenter les nouveaux noms ?
Je pensais faire ainsi :
1. BDD Clients : Une fois la mise à jour faite, copier A2:A500
2. NbRDV : Copier en A2 les cellules copiées de l'onglet BDD Clients
3. Trier A:A
4. Glisser les formules.
Macro :
Car la Macro est fastidieuse.
Peut être copier la dernière ligne et copier la formule ?
Mais je pense il doit y avoir plus simple (plus propre surtout) ?
Merci.
Dans l'onglet NbRDV je calcule le nombre de RDV du client selon les mois.
J'ai mis la formule suivante :
Code:
=SOMME((TEXTE(RDV!$B$2:$B$3000;"mmmm")=NbRDV!B$1)*(RDV!$A$2:$A$3000=NbRDV!$A2))
Elle semble fonctionner.
Par contre :
Est-il possible par une macro de mettre à jour le tableau de l'onglet NbRDV au sur et à mesure de la saisie de nouveau RDV dans l'onglet RDV ?
Et de ce fait, d'incrémenter les nouveaux noms ?
Je pensais faire ainsi :
1. BDD Clients : Une fois la mise à jour faite, copier A2:A500
2. NbRDV : Copier en A2 les cellules copiées de l'onglet BDD Clients
3. Trier A:A
4. Glisser les formules.
Macro :
Mais est-ce qu'il n'y a pas plus simple ? Et en gardant les formules ?VB:Sub NbRDV() ' ' NbRDV Macro ' ' Range("A2:A614").Select Selection.Copy Sheets("NbRDV").Select Range("A2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone ActiveWorkbook.Worksheets("NbRDV").Sort.SortFields.Clear ActiveWorkbook.Worksheets("NbRDV").Sort.SortFields.Add2 Key:=Range("A2:A614") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("NbRDV").Sort .SetRange Range("A2:A614") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWindow.SmallScroll Down:=66 Range("B80:M80").Select Selection.AutoFill Destination:=Range("B80:M153"), Type:=xlFillDefault Range("B80:M153").Select ActiveWindow.ScrollRow = 124 ActiveWindow.ScrollRow = 120 ActiveWindow.ScrollRow = 116 ActiveWindow.ScrollRow = 113 ActiveWindow.ScrollRow = 111 ActiveWindow.ScrollRow = 108 ActiveWindow.ScrollRow = 105 ActiveWindow.ScrollRow = 103 ActiveWindow.ScrollRow = 100 ActiveWindow.ScrollRow = 97 ActiveWindow.ScrollRow = 93 ActiveWindow.ScrollRow = 89 ActiveWindow.ScrollRow = 86 ActiveWindow.ScrollRow = 82 ActiveWindow.ScrollRow = 78 ActiveWindow.ScrollRow = 75 ActiveWindow.ScrollRow = 72 ActiveWindow.ScrollRow = 70 ActiveWindow.ScrollRow = 68 ActiveWindow.ScrollRow = 65 ActiveWindow.ScrollRow = 62 ActiveWindow.ScrollRow = 60 ActiveWindow.ScrollRow = 57 ActiveWindow.ScrollRow = 55 ActiveWindow.ScrollRow = 53 ActiveWindow.ScrollRow = 51 ActiveWindow.ScrollRow = 49 ActiveWindow.ScrollRow = 48 ActiveWindow.ScrollRow = 45 ActiveWindow.ScrollRow = 43 ActiveWindow.ScrollRow = 40 ActiveWindow.ScrollRow = 37 ActiveWindow.ScrollRow = 35 ActiveWindow.ScrollRow = 34 ActiveWindow.ScrollRow = 32 ActiveWindow.ScrollRow = 29 ActiveWindow.ScrollRow = 28 ActiveWindow.ScrollRow = 26 ActiveWindow.ScrollRow = 25 ActiveWindow.ScrollRow = 24 ActiveWindow.ScrollRow = 22 ActiveWindow.ScrollRow = 21 ActiveWindow.ScrollRow = 19 ActiveWindow.ScrollRow = 18 ActiveWindow.ScrollRow = 16 ActiveWindow.ScrollRow = 15 ActiveWindow.ScrollRow = 13 ActiveWindow.ScrollRow = 11 ActiveWindow.ScrollRow = 9 ActiveWindow.ScrollRow = 8 ActiveWindow.ScrollRow = 5 ActiveWindow.ScrollRow = 3 ActiveWindow.ScrollRow = 1 Range("A2").Select End Sub
Car la Macro est fastidieuse.
Peut être copier la dernière ligne et copier la formule ?
Mais je pense il doit y avoir plus simple (plus propre surtout) ?
Merci.