lister des noms de feuilles et la derniere valeur d'une colonne

micky

XLDnaute Nouveau
bonjour a tous,

en 2013 vous m'avez aidé dans la conception d'un fichier de gestion commercial.
je suis arrivé au résultat en pièce jointe. le fichier en question sert de spécimen.
je reviens vers vous pour une amélioration qui ne devrais pas vraiment poser de problème.
dans ce fichier lorsque je crée un nouveau client, la macro crée une feuille au nom du client.
la colonne A représente le date du mouvement.
la B les livraisons
la C les encaissements
la D le montant total ou "encours".
j'ai créé 2 clients (client 1 et clients 2) pour l'exemple.
avec plusieurs clients, le traitements des feuilles deviens complexe et des données me manquent.

je voudrais une feuille ou je pourrais avoir le nom de tout les clients ainsi que leurs encours.
il faut donc que le vba en question énumère dans une feuille prédéfini ("clientsetcrédits") le nom de chacune des feuilles clients (situé entre les feuilles "CARTE CLIENTS" et "fin") et l'encours correspondant au montant de la dernière ligne de la colonne D de chaque feuille.

j'espère que je suis claire. avec le fichier test, ca devrais aller.
ceci m'aiderais vraiment...

je compte sur vous .
merci encore
 

Pièces jointes

  • specimen.xlsm
    136.5 KB · Affichages: 44
  • specimen.xlsm
    136.5 KB · Affichages: 42
  • specimen.xlsm
    136.5 KB · Affichages: 43

Jacou

XLDnaute Impliqué
Re : lister des noms de feuilles et la derniere valeur d'une colonne

Bonsoir micky, bonsoir le forum,
voici un essai de mise à jour de ta feuille Clientsetcrédits.
Cela répond-il à ce que tu désires?

bonne nuit
 

Pièces jointes

  • specimen.xlsm
    136.5 KB · Affichages: 40
  • specimen.xlsm
    136.5 KB · Affichages: 43
  • specimen.xlsm
    136.5 KB · Affichages: 46

micky

XLDnaute Nouveau
Re : lister des noms de feuilles et la derniere valeur d'une colonne

merci,
j'ai reussi a adapter ton code !
aussi pour avoir la date :

Sub maj_clients()
Application.ScreenUpdating = False
nbf = ActiveWorkbook.Sheets.Count
j = 0
boucle1:
j = j + 1
If j > nbf Then GoTo finsub
If Sheets(j).Name <> "nom de la feuille" Then GoTo boucle1
Sheets("nom de la feuille").Activate
Range("A2").Select
boucle2:
j = j + 1
If j > nbf Or Sheets(j).Name = "fin" Then GoTo finsub
ActiveCell.Value = Sheets(j).Name
ActiveCell.Offset(0, 1).Value = Sheets(j).Range("D65536").End(xlUp)
ActiveCell.Offset(0, 2).Value = Sheets(j).Range("A65536").End(xlUp)
ActiveCell.Offset(1, 0).Select
GoTo boucle2
finsub:
Application.ScreenUpdating = True

End Sub


encore merci !
 

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 894
Membres
103 021
dernier inscrit
Sergyl75