> Tous les forumsBureautique

 Macro Sommaire d'annéeSujet résolu
Statut du sujet : RESOLU Imprimer
 Kassie
  Posté le 14/04/2008 @ 16:50  
 Petite astucienne

30 Messages

Bonjour à tous et à toutes,

Il y a quelques temps, vous m'aviez filé un coup de main pour une macro dans un classeur. Très utile et efficace, merci encore.

Sur ce même classeur, j'ai maintenant besoin d'un petit ajout que je ne sais pas comment monter. Votre collaboration serait à nouveau fort appréciée.

Voilà. J'ai des onglets mensuels. Dans chaque onglet, une colonne CODE, NOM et un paquet de colonnes de données numériques. Dépendant des mois, les codes sont P (une ligne unique par nom) ou P et A (deux lignes par nom). J'ai besoin que dans l'onglet Sommaire soient effectuées les opérations suivantes :

- Vérification si le nom est déjà présent. Si oui, parfait, Si non, ajouter une ligne avec le nom et les données de la personne.

- Addition des lignes portant le même nom, en provenance de toutes les feuilles.

- Si une feuille est vide, simplement ignorer.

Pour vous aider à visualiser le tout, je vous joint le lien pour le fichier, contenant la macro originale pour importation des données.

http://www.cijoint.fr/cjlink.php?file=cj200804/cij9ZPL2Jj.xls.

Merci d'avance de votre collaboration si précieuse !

 Afficher le profil de KassieEnvoyer un message privé à Kassie
 
 
Liens utiles
 Titou56  Posté le 14/04/2008 à 16:55  
Petit astucien


784 Messages

Hello

Consolidation dynamique !

Dans la feuille de regroupement : Données, Consolider

tu vas dans le 1er onglet et tu sélectionnes toutes tes données puis "Ajouter"

clic ensuite sur chaque autre onglet en validant par "ajouter à chaque fois

à la fin tu coches les cases "lié aux données sources" et la 2eme aussi ( de mémoire... jmen rappelle plus"

OK

Courage

Afficher le profil de Titou56 Voir la configuration de Titou56Envoyer un message privé à Titou56
 Revenir en haut de la page
 Kassie  Posté le 15/04/2008 à 16:41  
Petite astucienne

30 Messages

Bonjour

Merci Titou mais ce n'est pas tout à fait ce que je cherche a faire. Oui j'ai bien une addition de mes différents mois mais je ne vois pas de qui il s'agit pour chaque ligne de chiffres. Cet exemple est plutot simple et les noms sont a peu pres tous les memes mais j'ai plusieurs fichiers de ce type et certains varient beaucoup coté des noms d'un mois à l'autre. On peut se fier au nom ou alors au numéro d'identification comme clé unique.

J'ai donc besoin d'une macro qui ferait une addition des différents totaux de chaque mois (consolidation) tout en faisant d'abord une vérification au niveau du nom. Si le nom s'y trouve, ajouter les mois n'ayant pas été additionné. Si le nom ne si trouve pas, ajouter le nom puis faire le total.

Est-ce que quelqu'un peut m'aider là dessus svp ??

Merci d'avance

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 Titou56  Posté le 15/04/2008 à 22:37  
Petit astucien


784 Messages

hello

c'est à mon avis un pb de sélection dans le premier onglet, tu dois tout sélectionner, y compris tes mois et noms, voire même déborder sur les cellules vierges !

ça donne quoi ?

Afficher le profil de Titou56 Voir la configuration de Titou56Envoyer un message privé à Titou56
 Revenir en haut de la page
 Kassie  Posté le 16/04/2008 à 22:26  
Petite astucienne

30 Messages

re bonjour

Hé non, meme en étendant la sélection, ca ne fonctionne pas. Il additionne bien tout ce qui est chiffre mais ne fait pas la colie des noms et autres données personnelles.

Une autre suggestion??

Merci de votre aide

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 Kassie  Posté le 21/04/2008 à 14:17  
Petite astucienne

30 Messages

Bonjour

Je me permets de relancer a nouveau... Il est impératif pour moi d'y arriver.

Titou j'ai essayé ce que tu m'as dit mais malheureusement les données non compilables ne suivent pas. Je n'arrive qu'à avoir la première colonne, ce qui ne m'est malheureusement pas utile.

Si quelqu'un a une idée, ce serait fort apprécié.

Merci et bonne journée

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 galopin01  Posté le 21/04/2008 à 20:32  
Astucien


3964 Messages

Bonjour,

Ben... J'ai commencé à bricoler dessus, mais c'est une p... de macro de la mort qui tue ! Et je n'ai pas que ça à faire.

Je ne suis même pas certain que mon algo soit bien fameux.

ça serait bien qu'on sache le nombre de ligne maximum prévisible par feuilles (mois)

Confirmer qu'on ne s'occupe pas de P et des A : on totalise tout à partir du N° d'identification.

Prévoir un délai.

A+

Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
 Kassie  Posté le 22/04/2008 à 15:16  
Petite astucienne

30 Messages

Bonjour Galopin

Un gros merci de te pencher sur mon cas.

Le nombre de lignes par mois devrait etre d'un maximum de 250. Certains n'en ont qu'une dizaine mais les plus gros, max 250.

En effet, a ce niveau ci, on ne se préoccupe plus des A et des P. L'addition de toutes les donnes en se fiant au numéro d'identification comme clé est parfait.

Désolée de vous donner du trouble, espérant que ce sera utile à d'autres également.

Bonne journée

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 galopin01  Posté le 23/04/2008 à 17:02  
Astucien


3964 Messages

Bonjour,

J'ai du changer un peu mon approche de la question...

Lerésultat

A+

Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
 Kassie  Posté le 23/04/2008 à 18:01  
Petite astucienne

30 Messages

Rebonjour,

Galopin, je te sais pas si on te l'a déjà dit, mais tu es tout simplement GÉNIAL ! Un GROS GROS merci, c'est exactement ce que j'avais besoin

De plus, avec les commentaires que tu insères dans la macro, j'en apprends beaucoup. Merci de prendre du temps pour aider les autres, c'est apprécié.

Bonne journée !

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 galopin01  Posté le 23/04/2008 à 18:21  
Astucien


3964 Messages

Heu... Ya juste un bémol :

Je n'ai pas fait de vérification ! J'ai constaté que ça faisait bien un total vraisemblable dans certains cas... A toi de vérifier que c'est bon dans tous les cas.

YFO bien que je te laisse quelque chose à faire ! Hein ?

A+

Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
 Kassie  Posté le 23/04/2008 à 20:10  
Petite astucienne

30 Messages

Héhé, t'inquiètes ! J'ai fait les vérifications manuelles avant de te répondre (message précédent) et tout semble tenir la route. Je ne m'attendais quand meme pas à ce que tu me mâches tout le travail, même si j'avoue que les gros morceaux sont grâce à toi et que je n'y serais pas arrivée seule! Je vais de ce pas intégrer ton génie aux autres classeurs de même type qui me donnaient des migraines. Galopin, meilleur que le Tylenol ou l'Efferalgan !

Merci encore ! @+

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 Kassie  Posté le 07/05/2008 à 15:31  
Petite astucienne

30 Messages

Rebonjour à tous,

J'ai encore un petit soucis avec cette macro écrite brillament par les soins de Galopin:

Sub Additionner()
Dim ListNID As New Collection, Tablo(7), i%, ii%, iWs%, j%, k%, z$, zName$
'recensement des N°ID et stockage dans une liste virtuelle
For iWs = 2 To 12
On Error Resume Next
i = 6
With Worksheets(iWs)
Do While .Cells(i, 3) <> ""
ListNID.Add .Cells(i, 3), .Cells(i, 3)
i = i + 1
Loop
End With
Next
'Pour chaque élément de la liste
For k = 1 To ListNID.Count
'on mémorise le N°ID
z = ListNID(k)
Worksheets(1).Cells(k + 5, 3) = ListNID(k)
'On passe en revue chaque feuille
For iWs = 2 To 12
ii = 6
With Worksheets(iWs)
'dans chaque ligne non vide...
Do While .Cells(ii, 3) <> ""
'si le N°ID est le même...
If .Cells(ii, 3) = z Then
'on mémorise le nom du quidam
zName = .Cells(ii, 4)
'On mémorise chaque valeur de chaque colonne et on les totalise dans un tableau virtuel
For j = 11 To 17
Tablo(j - 11) = Tablo(j - 11) + .Cells(ii, j)
Next
End If
'et on passe à la feuille suivante
ii = ii + 1
Loop
End With
Next
'C'est fini ! YAPUKA transposer mes variables et mon tableau virtuel dans ta récap...
Worksheets(1).Cells(k + 5, 3) = z
Worksheets(1).Cells(k + 5, 4) = zName
For j = 11 To 17
Worksheets(1).Cells(k + 5, j) = Tablo(j - 11)
Next
Next
End Sub

Donc j'avais fait les vérifications mais rapides et en me basant principalement sur la première ligne. Erreur erreur de ma part !!

La première ligne est effectivement bonne. Par contre, sur toutes les lignes subséquentes a la première, les totaux additionnent tout ce qui précède et non seulement les montant de la personne en soit.

J'ai beau relire la macro, j'avoue ne pas etre assez callée pour la corriger. Pourriez vous, encore une fois me venir en aide s'il vous plait !

Merci !!

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 galopin01  Posté le 07/05/2008 à 17:01  
Astucien


3964 Messages

bonjour,

Insérer cette ligne à la fin :

For j = 11 To 17
Worksheets(1).Cells(k + 5, j) = Tablo(j - 11)
'on remet les compteurs à 0 pour le prochain NID

Tablo(j - 11) = 0
Next
Next
End Sub

A+



Modifié par galopin01 le 07/05/2008 17:03
Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
 Kassie  Posté le 07/05/2008 à 17:21  
Petite astucienne

30 Messages

Galopin, tu es décidéement un génie !!

Avec cette ligne supplémentaire, tout semble rentré dans l'orde.

Encore une fois, un immense merci !

Bonne journée!

Afficher le profil de KassieEnvoyer un message privé à Kassie
 Revenir en haut de la page
 galopin01  Posté le 07/05/2008 à 17:39  
Astucien


3964 Messages
Afficher le profil de galopin01 Voir la configuration de galopin01Envoyer un message privé à galopin01
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte





 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page
Comme PC Astuces, mettez-vous au vert avec Ikoula !
Faites le choix d'un hébergeur acteur de l'environnement !