VBA - amelioration et developpement du code déjà réalisé

laurent67

XLDnaute Junior
Bonsoir,

Je commence à m'essayer au Macro et VBA et je sollicite votre aide car je n'arive pas à trouver la solution.
Je vous joints un fichier test pour que vous ayez toutes les informations.

Mon objectif est de récupérer les informations (nom, prénom, date de naissance, n° de dossier) des onglets "septembre", "octobre", "novembre" ... dans l'onglet "Liste CAF". ça c'est ce que j'ai réussi a faire. Cependant je souhaite :
- laisser une ligne vide entre chaque mois​
- que dans la cellule "C" de la première ligne après la ligne vide créer apres les mois "septembre" "octobre" ... soit inscrit le nom de l'onglet correspondant au données qui vont suivre​

Merci d'avance.

Laurent
 

Pièces jointes

  • doc W - Liste Looup.xlsm
    111.4 KB · Affichages: 42
  • doc W - Liste Looup.xlsm
    111.4 KB · Affichages: 50
  • doc W - Liste Looup.xlsm
    111.4 KB · Affichages: 43
D

Denis

Guest
Re : VBA - amelioration et developpement du code déjà réalisé

Bonjour Laurent et le forum,
Voit en pièce jointe si cela correspond à ta demande.
Bon courage et à+
Denis
 

Pièces jointes

  • W - Liste Looup.xlsm
    106.5 KB · Affichages: 31
  • W - Liste Looup.xlsm
    106.5 KB · Affichages: 38
  • W - Liste Looup.xlsm
    106.5 KB · Affichages: 35

laurent67

XLDnaute Junior
Re : VBA - amelioration et developpement du code déjà réalisé

Bonjour Denis,

C'est parfait, c'est exactement ce que je recherchais.

Cette résolution entraine une deuxième question, dans les onglets "septembre", "octobre" ... il y a le recap des présences (1), absences (A) des avoirs (E). Y a t il une possibilité de faire la somme de chacun de ces cas en fonction des temps correspondants, je m'explique :
- dans l'onglet septembre ligne 6 STA Clementine devait être présente tous les jours du mois à midi et le soir or elle a eu 1 semaine d'absence (les A dans les colonnes T : AE en marron) je cherche une formule pour additionner les "A" du midi colonnes U; X; AA et AD et que le resultat soit renseigné dans la colonne BK.

Merci d'avance.
 

Pièces jointes

  • doc W - Liste Looup.xlsm
    112.7 KB · Affichages: 31
  • doc W - Liste Looup.xlsm
    112.7 KB · Affichages: 46
  • doc W - Liste Looup.xlsm
    112.7 KB · Affichages: 28
D

Denis

Guest
Re : VBA - amelioration et developpement du code déjà réalisé

Re,
met cette formule dans les feuilles Mois en BJ4 et tire la formule vers la droite puis jusqu'en bas.
=SOMMEPROD(($H$3:$BF$3=BJ$3)*($H$6:$BF$6="A")*1)
Bon courage et à+
Denis
 

laurent67

XLDnaute Junior
Re : VBA - amelioration et developpement du code déjà réalisé

Denis,

Peux-tu m'expliquer cette ligne de code car je n'arrive pas à la comprendre pour l'adapter à mes besoins dans d'autres cellules :

'on place la formule dans la colonne A
Sheets("Liste CAF").Range("A" & dernLigne).FormulaR1C1 = _
"=IF(RC[9]="""","""",IF(((DATEDIF(RC[9],TODAY(),""m""))/12)<6,""enfants de - de 6ans"",""enfants de + de 6 ans""))"

En effet j'essai d'intégrer celle-ci mais il y a une erreur qui stop l'execution de la macro :
'on place la formule dans la colonne T
Sheets("Liste CAF").Range("T" & dernLigne).FormulaR1C1 = _
"=IF(RC[9]="""","""",("O" & dernligne)*"O9")"

A quoi correspond RC[9] ? et pourquoi ma formule bloque sur ("O" & dernligne)

Merci d'avance
 
D

Denis

Guest
Re : VBA - amelioration et developpement du code déjà réalisé

Cette ligne de code a été faite avec l'enregistreur de macro. He oui, je suis paresseux.
C'est la recopie de ta formule initiale pour t'éviter de le faire manuellement.
RC9 correspond à : R = row (ligne) sans chiffre car même ligne
C = column et 9 parce que décalé de 9 vers la droite soit la colonne 10 en comptant 0 pour la cell concernée.
Pour ta formule dans la col T, celle ci ne convient pas.
Fais pareil avec l'enregisteur cela te donnera quelque chose de ce type : FormulaR1C1 = "=SUM(RC[-51],RC[-48],RC[-45],RC[-42])" etc.

J'espère que mon explication te conviendra.
Bon courage et à+
Denis
 

laurent67

XLDnaute Junior
Re : VBA - amelioration et developpement du code déjà réalisé

Je ne connais pas du tout le fonctionnement de l'enregistreur, je vais regarder pour voir si je trouve des infos.

Merci.

C'est bon j'ai trouvé l'enregistreur et son fonctionnement.

Encore une fois un grand merci.
 
Dernière édition:

laurent67

XLDnaute Junior
Re : VBA - amelioration et developpement du code déjà réalisé

Re bonjour,

Encore une nouvelle question, je souhaite ajouter des sous totaux après chaque mois dans l'onglet "liste CAF", j'ai commencé à mettre une formule VBA mais comme les listes mensuelles n'ont pas toutes la même taille la formule que j'utilise ne fonctionne pas.

Auriez vous une idée ?

Merci d'avance.
 

Pièces jointes

  • doc W - Liste Looup.xlsm
    295.1 KB · Affichages: 38
  • doc W - Liste Looup.xlsm
    295.1 KB · Affichages: 42
  • doc W - Liste Looup.xlsm
    295.1 KB · Affichages: 40
D

Denis

Guest
Re : VBA - amelioration et developpement du code déjà réalisé

Re,
Je vois que tu maîtrise l'enregistreur maintenant.
Super bien fait.
Tu trouveras dans ton fichier la méthode.
On fait un sous total a chaque fois qu'on met la formule, et à la fin on copie le sous total
Bon courage et à+
Denis
 

Pièces jointes

  • W - Liste Looup.xlsm
    232.5 KB · Affichages: 46
  • W - Liste Looup.xlsm
    232.5 KB · Affichages: 48
  • W - Liste Looup.xlsm
    232.5 KB · Affichages: 40

laurent67

XLDnaute Junior
Re : VBA - amelioration et developpement du code déjà réalisé

Re,

Merci c'est super, j'ai une question est-ce normale que le traitement soit aussi long ? car sur l'exemple présent je n'ai qu'une 30aine de ligne par mois or dans le fichier finale, je peux en avoir jusqu'a 300 et là je craint le pire en terme de délais de traitement.

Existe-t-il un moyen pour accelérer le processus ?
 
D

Denis

Guest
Re : VBA - amelioration et developpement du code déjà réalisé

St1 et St2 sont des variables pour faire sous-total (il manque d'ailleurs encore St3 pour la 3ème colonne.
Dans ton fichier que je finalise, tu auras plein de commentaires.
A demain
Denis
 

Discussions similaires

Réponses
50
Affichages
4 K