Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro pour marquer une date devant un sous total

3 réponses
Avatar
gadob
bonjour
j'ai une liste avec 5 colonnes: date nom, débit, crédit, solde sur laquelle
j'ai fait des sous totaux sur la dernière colonne.
par exemple
date client debit crédit solde
01/01/04 machin -250 -250
02/01/04 machin 100 100
03/01/04 machin 50 50
total machin -100
je voudrais que dans la colonne date, s'affiche automatiquement la plus
lointaine, sur la ligne du sous total. donc dans mon exemple:
date client debit crédit solde
01/01/04 machin -250 -250
02/01/04 machin 100 100
03/01/04 machin 50 50
01/01/04 total machin -100

Est-il possible de réaliser cela avec une macro et si oui comment ?
Je précise que dans mon exemple, il y a 3 lignes client, mais que dans ma
liste cela peut aller de 1 à 10 lignes (ce serait trop simple autrement !)
j'ai beau tourner dans tous le sens je ne trouve pas comment faire
je vous remercie de prêter attention à ma demande

3 réponses

Avatar
Ellimac
Bonjour,

Sub Toto()
Range("a65000").End(xlUp).Offset(1).Select
n = Application.CountBlank(Range(Range("a1"),
ActiveCell))
For cpt = 1 To n
m = CDate(Application.Min(Range(ActiveCell.Offset(-1),
ActiveCell.Offset(-1).End(xlUp))))
ActiveCell = m
On Error Resume Next
ActiveCell.End(xlUp).Offset(-1).Select
Next
End Sub

Camille

-----Message d'origine-----
bonjour
j'ai une liste avec 5 colonnes: date nom, débit, crédit,
solde sur laquelle

j'ai fait des sous totaux sur la dernière colonne.
par exemple
date client debit crédit solde
01/01/04 machin -250 -250
02/01/04 machin 100 100
03/01/04 machin 50 50
total machin -100
je voudrais que dans la colonne date, s'affiche
automatiquement la plus

lointaine, sur la ligne du sous total. donc dans mon
exemple:

date client debit crédit solde
01/01/04 machin -250 -250
02/01/04 machin 100 100
03/01/04 machin 50 50
01/01/04 total machin -100

Est-il possible de réaliser cela avec une macro et si oui
comment ?

Je précise que dans mon exemple, il y a 3 lignes client,
mais que dans ma

liste cela peut aller de 1 à 10 lignes (ce serait trop
simple autrement !)

j'ai beau tourner dans tous le sens je ne trouve pas
comment faire

je vous remercie de prêter attention à ma demande


.



Avatar
gadob
bonjour. J'ai essayé le code, mais ça me marque:
erreur de compilation erreur de syntaxe
sur cette ligne:
n = Application.CountBlank(Range(Range("a1"),
Avatar
gadob
bonjour ! j'ai essayé le code que tu m'as donné, mais ça
me marque une erreur sur cette ligne:
n = Application.CountBlank(Range(Range("a1"),
je ne suis pas un expert en vba et ne comprend donc pas ce
qui se passe...

-----Message d'origine-----
Bonjour,

Sub Toto()
Range("a65000").End(xlUp).Offset(1).Select
n = Application.CountBlank(Range(Range("a1"),
ActiveCell))
For cpt = 1 To n
m = CDate(Application.Min(Range(ActiveCell.Offset(-
1),

ActiveCell.Offset(-1).End(xlUp))))
ActiveCell = m
On Error Resume Next
ActiveCell.End(xlUp).Offset(-1).Select
Next
End Sub

Camille