|
| 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 !
|
| |
| |
| 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 |
| |
|
| 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  |
| |
|
| 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 ? |
| |
|
| 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 |
| |
|
| 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 |
| |
|
| 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+ |
| |
|
| 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 |
| |
|
| 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+ |
| |
|
| 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 ! |
| |
|
| 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+ |
| |
|
| 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 ! @+ |
| |
|
| 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 !! |
| |
|
| 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 |
| |
|
| 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! |
| |
|
| galopin01 | Posté le 07/05/2008 à 17:39 |
Astucien
3964 Messages
| |
| |
|
|
| Haut de la page |