Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr Jours
ne
suffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)
dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manière
à prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1
et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquement
tu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plus
simple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:
#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant
à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personne
lenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux
CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agit
dusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr Jours
ne
suffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)
dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manière
à prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1
et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquement
tu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plus
simple.
Cordialement.
"Pascal Manach" <p.manach2@libertysurf.fr> a écrit dans le message de
news:
#ihXK9JJEHA.1388@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant
à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux
CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr Jours
ne
suffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)
dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manière
à prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1
et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquement
tu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plus
simple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:
#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne correspondant
à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personne
lenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP légaux
CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agit
dusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" a écrit dans le
message
de news:Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Jours
nesuffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manièreà prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquementtu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plussimple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui
ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondant
àces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personnelenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légaux
CPAutres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agitdusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" <ASUPPRIMEReric.kergresse@wanadoo.fr> a écrit dans le
message
de news: e0T0UJKJEHA.2424@TK2MSFTNGP12.phx.gbl...
Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Jours
ne
suffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)
dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manière
à prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1
et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquement
tu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plus
simple.
Cordialement.
"Pascal Manach" <p.manach2@libertysurf.fr> a écrit dans le message de
news:
#ihXK9JJEHA.1388@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui
ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondant
à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légaux
CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" a écrit dans le
message
de news:Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Jours
nesuffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur 520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manièreà prendre en compte toutes les cellules. Je m'explique : Le titre est en
E1et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquementtu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait être
plussimple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels qui
ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondant
àces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personnelenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légaux
CPAutres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agitdusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Quel est ton niveau en VBA ?
La création de cette macro n'est pas compliquée mais un peu longue.
Dans ton cas, voilà ce que je ferais :
1- Initialisation d'une variable tableau (par exemple Employes() avec
Public
Employes() as variant) qui contiendra chaque employé et les informations
dont tu as besoin. Ici, 5 champs (NB : je ne sais pas à quoi sert CPJ).
2- Trier la base de données dans l'ordre des codes des employés.
3- Initialiser un compteur pour comptabiliser les numéros d'employés : k
par
exemple. K=0 au départ.
4 - Au moyen d'une boucle for next (depuis la ligne sous le titre jusqu'à
la
dernière ligne), tester la colonne Numéro d'employé.
Pour chaque nouveau numéro d'employé testé avec une instruction if then :
-incrémenter le compteur k
-redimensionner la variable tableau : Rdim Preserve Employes(5,k)
Puis
-remplir la variable :
-Employes(0,k) avec le numéro
d'employé
-Employes(1,k) avec CPJ ?
-Employes(2,k) = Employe(2,K) +
Valeur colonne jours de congés acquis ou prévisionnel
-Employes(3,k) avec Jours CP
légaux,
-Employes(4,k) avec Jours CP
autres
5- Créer une nouvelle feuille (ou classeur)
-Vider le contenu de la variable Employes avec deux boucles For
Next
Activesheet.range("A1").select
For k = Lbound(Employes,2) to Ubound(Employes,2) -
1
for i = 0 to 4
Activecell.offset(i,k).value=Employes(i,k)
next
Next
Est ce suffisant comme explications ?
Cordialement.
"Pascal Manach" a écrit dans le message de
news:
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" a écrit dans le
messagede news:Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Joursnesuffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur
520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manièreà prendre en compte toutes les cellules. Je m'explique : Le titre est
en
E1et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquementtu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valablepour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait
être
plussimple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels
qui
neseront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondantàces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personnelenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaquepersonne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légauxCPAutres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agitdusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Quel est ton niveau en VBA ?
La création de cette macro n'est pas compliquée mais un peu longue.
Dans ton cas, voilà ce que je ferais :
1- Initialisation d'une variable tableau (par exemple Employes() avec
Public
Employes() as variant) qui contiendra chaque employé et les informations
dont tu as besoin. Ici, 5 champs (NB : je ne sais pas à quoi sert CPJ).
2- Trier la base de données dans l'ordre des codes des employés.
3- Initialiser un compteur pour comptabiliser les numéros d'employés : k
par
exemple. K=0 au départ.
4 - Au moyen d'une boucle for next (depuis la ligne sous le titre jusqu'à
la
dernière ligne), tester la colonne Numéro d'employé.
Pour chaque nouveau numéro d'employé testé avec une instruction if then :
-incrémenter le compteur k
-redimensionner la variable tableau : Rdim Preserve Employes(5,k)
Puis
-remplir la variable :
-Employes(0,k) avec le numéro
d'employé
-Employes(1,k) avec CPJ ?
-Employes(2,k) = Employe(2,K) +
Valeur colonne jours de congés acquis ou prévisionnel
-Employes(3,k) avec Jours CP
légaux,
-Employes(4,k) avec Jours CP
autres
5- Créer une nouvelle feuille (ou classeur)
-Vider le contenu de la variable Employes avec deux boucles For
Next
Activesheet.range("A1").select
For k = Lbound(Employes,2) to Ubound(Employes,2) -
1
for i = 0 to 4
Activecell.offset(i,k).value=Employes(i,k)
next
Next
Est ce suffisant comme explications ?
Cordialement.
"Pascal Manach" <p.manach2@libertysurf.fr> a écrit dans le message de
news:
OKdlGnNJEHA.2508@TK2MSFTNGP10.phx.gbl...
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" <ASUPPRIMEReric.kergresse@wanadoo.fr> a écrit dans le
message
de news: e0T0UJKJEHA.2424@TK2MSFTNGP12.phx.gbl...
Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Jours
ne
suffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur
520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)
dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manière
à prendre en compte toutes les cellules. Je m'explique : Le titre est
en
E1
et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquement
tu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valable
pour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait
être
plus
simple.
Cordialement.
"Pascal Manach" <p.manach2@libertysurf.fr> a écrit dans le message de
news:
#ihXK9JJEHA.1388@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels
qui
ne
seront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondant
à
ces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personne
le
nbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaque
personne tout en conservant la dernière(donc le solde récupéré
précédemment
devrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légaux
CP
Autres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agit
du
solde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeurs
n'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide
Salut Pascal,
Quel est ton niveau en VBA ?
La création de cette macro n'est pas compliquée mais un peu longue.
Dans ton cas, voilà ce que je ferais :
1- Initialisation d'une variable tableau (par exemple Employes() avec
Public
Employes() as variant) qui contiendra chaque employé et les informations
dont tu as besoin. Ici, 5 champs (NB : je ne sais pas à quoi sert CPJ).
2- Trier la base de données dans l'ordre des codes des employés.
3- Initialiser un compteur pour comptabiliser les numéros d'employés : k
par
exemple. K=0 au départ.
4 - Au moyen d'une boucle for next (depuis la ligne sous le titre jusqu'à
la
dernière ligne), tester la colonne Numéro d'employé.
Pour chaque nouveau numéro d'employé testé avec une instruction if then :
-incrémenter le compteur k
-redimensionner la variable tableau : Rdim Preserve Employes(5,k)
Puis
-remplir la variable :
-Employes(0,k) avec le numéro
d'employé
-Employes(1,k) avec CPJ ?
-Employes(2,k) = Employe(2,K) +
Valeur colonne jours de congés acquis ou prévisionnel
-Employes(3,k) avec Jours CP
légaux,
-Employes(4,k) avec Jours CP
autres
5- Créer une nouvelle feuille (ou classeur)
-Vider le contenu de la variable Employes avec deux boucles For
Next
Activesheet.range("A1").select
For k = Lbound(Employes,2) to Ubound(Employes,2) -
1
for i = 0 to 4
Activecell.offset(i,k).value=Employes(i,k)
next
Next
Est ce suffisant comme explications ?
Cordialement.
"Pascal Manach" a écrit dans le message de
news:
Merci pour ta réponse, mais j'ai besoin d'avoir cette base de données
modifiée, car ensuite j'utilise une autre macro qui sélectionne des
populations prédifinies pour les enregistrer dans des fichiers et les
transmettre aux différents services.
Si tu peux m'aider merci
Cordialement
"E KERGRESSE" a écrit dans le
messagede news:Salut Pascal,
Est ce qu'un filtre automatique et un sous-total sur la colonne Nbr
Joursnesuffiraient pas ?
Pour mettre en euvre le sous-total, tu mets d'abord le filtre sur
520657
(par exemple) et tu mets le sous-total (avec le bouton comme pour une
somme)dans la première cellule vide dans la colonne Nbr Jours.
Tu corriges les coordonnées dans la formule du sous toital de telle
manièreà prendre en compte toutes les cellules. Je m'explique : Le titre est
en
E1et la dernière ligne de ton tableau est en ligne 30 par exemple,
logiquementtu as mis ta fonction sous total dans la cellule E31. Tu modifies les
coordonnées du sous total pour avoir : E2:E30. Cette méthode sera
valablepour tous les employés.
Tu n'auras pas le formatage comme tu le désirais mais cela devrait
être
plussimple.
Cordialement.
"Pascal Manach" a écrit dans le message de
news:#Bonjour,
Je récupère des infos d'un système de gestion des congés.
C'est un fichier excel qui me donne les soldes à une certaine date.
Mais dans ce fichier j'ai aussi les dates de congés prévisionnels
qui
neseront décomptées qu'à la date réelle du calendrier.
En conséquence, chaque personne peut avoir plusieurs ligne
correspondantàces dates.
Je voudrai à l'aide d'une macro pouvoir comptabliser pour chaque
personnelenbre de jours correspondant et l'isoler dans une cellule.
Puis je souhaiterai supprimer toutes les lignes correspondant à
chaquepersonne tout en conservant la dernière(donc le solde récupéré
précédemmentdevrait y être.
Exemple du fichier à sa réception (pour une personne)
Le N° individuel est la référence(520657)
Date Début Date Fin Nbr Jours CP
légauxCPAutres
520657 CPJ A 16/04/04 16/04/04 1 8 6
520657 CPJ P 23/04/04 23/04/04 1 8 6
520657 CPJ P 30/04/04 12/05/04 9 8 6
520657 CPJ A 24/05/04 28/05/04 5 8 6
Les colonnes CP légaux et CP autres ont la même valeur car il
s'agitdusolde avant le prévisionnel de l'ensemble des lignes présentes ( ces
valeursn'ont pas à être rajoutées).
Ce que je souhaiterai en final pour illuster mon propos c'est
çà:
Nbre jours CP légaux CP autres
520657 CPJ 16 8 6
Tout en conservant les données des autres colonnes.
Merci beaucoup pour votre aide