Microsoft 365 Problème de conversion des mois en périodes dans Excel avec VBA

eCHO

XLDnaute Junior
Bonjour à tous,

Je travaille actuellement sur un fichier Excel qui contient des historiques de paiements pour différentes boutiques. Les données sont organisées en colonnes avec les informations suivantes :

  • A : Nom
  • B : Secteur de la boutique
  • C : Numéro de boutique
  • D : Période payée (initialement en nombre de mois, puis sous forme de périodes spécifiques)
  • E : Somme payée
  • F : Date de paiement
  • G : Numéro de quittance
Mon problème est le suivant : dans les premiers enregistrements de la colonne "D", j'avais uniquement saisi le nombre de mois payés (ex. : "4" pour 4 mois). Plus tard, j'ai commencé à indiquer la période sous forme de dates (ex. : "Du 04-2017 Au 07-2017 (4 Mois)").

Maintenant, je souhaite convertir automatiquement les enregistrements qui contiennent seulement le nombre de mois en une période au format "Du mm-yyyy Au mm-yyyy". Pour ce faire, il faudrait :

  1. Organiser les enregistrements par date de paiement pour chaque boutique et secteur.
  2. Identifier la dernière période complète pour chaque boutique.
  3. Calculer les périodes manquantes pour les enregistrements avec seulement un nombre de mois, en se basant sur la dernière période trouvée.
J'ai commencé à écrire un script VBA pour automatiser cela, mais j'ai rencontré quelques difficultés. Notamment, mon code ne parvient pas à calculer correctement la période suivante, et parfois, les dates générées sont incorrectes (ex. année 1820).

Est-ce que quelqu'un pourrait m'aider à corriger ce code ou à trouver une meilleure approche pour résoudre ce problème ?

Merci d'avance pour votre aide !
 

Pièces jointes

  • test.xlsm
    363.8 KB · Affichages: 13

vgendron

XLDnaute Barbatruc
Hello

si je comprend bien tu veux harmoniser les colonnes en appliquant un effet "Rétroactif' sur les lignes qui n'ont qu'un nombre de mois

1) pour organiser: il te suffit de faire un tri à 3 niveaux
niv1: boutique (col A) mais bon.. la colonne est vide
niv2: par secteur (col B)
niv3: par date (col D)

2) c'est quoi une période complète??
3) comment calcules tu la période manquante?? il faudrait que tu fasses quelques exemples "à la main" pour nous indiquer le résultat attendu
 

RyuAutodidacte

XLDnaute Impliqué
Bonjour à tous

Perso, ca ne sert à rien de faire des exemples avec des milliers de lignes.
Des exemples sur 10, 20, max 30 lignes suffisent selon le nombre cas existant (représentation de tous les cas possible) afin d'avoir tous les tenants et aboutissants.
Ca permet aussi de mettre des faux noms de boutiques plus facilement (comme l'indique @vgendron : colonne vide).
Comme l'indique @vgendron, je te suggère aussi de refaire un exemple sur 20-30 lignes avec des noms de boutiques fictifs
un tableau pour montrer l'état initial et un tableau (découlant de l'état initial) avec le résultat attendu.
ca sera bcp plus claire ainsi

et bien sur définir ce qu'est :
  1. Organiser les enregistrements par date de paiement pour chaque boutique et secteur.
  2. Identifier la dernière période complète pour chaque boutique.
  3. Calculer les périodes manquantes pour les enregistrements avec seulement un nombre de mois, en se basant sur la dernière période trouvée.
 

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba