> Tous les forums > Forum Bureautique
 Excel: Addition sous condition doubleSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Kassie
  Posté le 23/08/2007 @ 21:49 
Aller en bas de la page 
Petite astucienne

Bonjour à tous,

J'ai besoin d'aide de plus connaissant que moi SVP. Je m'explique:

Sous la colonne A appelée "Code" se retourve des données, soit "P" ou "A".

Sous la colonne D, se trouve des noms de personnes.

Colonnes K à Q se trouvent des données financières.

Sachant tout ceci, j'ai besoin:

D'effectuer une recherche dans la colonne A. Pour toute donnée "A" trouvée, il faut trouver la ligne "P" comportant le même nom. Je dois par la suite additionner les données des colonnes K à Q de la ligne "A" à celles de la ligne "P". Une fois fait, supprimer la ligne "A" et recommencer pour la prochaine ligne à tester.

J'imagine que ca doit être possible en Macro VBA mais je ne sais pas comment monter le code malgré plusieurs essais. Quelqu'un peut m'aider svp ?

Publicité
JièL Goubert
 Posté le 23/08/2007 à 22:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour,
je pense que si vous nous mettiez un exemple concret sur www.cjoint.com et donniez le lien ici, ça serait certainement plus simple que d'imaginer de quoi vous parlez (perso j'ai rien compris )
Kassie
 Posté le 23/08/2007 à 22:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Re-Bonjour , et merci pour cette réponse rapide.

Voici le fichier en questions: http://cjoint.com/?ixwKG4snxw

Il s'agit donc de tester la colonne A. Si la donnée "A" s'y trouve, il faut trouver la ligne contenant la donnée "P" (toujours dans la colonne A) et valider la correspondance en utilisant le Numéro d'identification de la colonne C (au lieu du nom (D) comme indiqué précédemment, désolée! ).

Une fois ces données validées, j'aimerais additionner les chiffres se trouvant dans les colonnes K à Q de la ligne "A" dans les mêmes colonnes mais de la ligne "P" et ensuite supprimer la "A".

J'espère avoir réussi à être un peu plus claire mais je n'en suis pas sure...

Merci encore et d'avance de votre aide !

galopin01
 Posté le 24/08/2007 à 03:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Si quelqu'un peut me dire ce qu'on peut faire avec ce fichier à la noix ?

A+

Kassie
 Posté le 24/08/2007 à 05:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Hé Hé ! Galopin, telle est justement ma question !

Malheureusement, je recois les fichiers sous cette forme, donc il faut que je fasse avec. C'est plutot impératif même que je trouve ou que quelqu'un m'aide à trouver la solution... SVP !!!

Merci encore d'avance!

galopin01
 Posté le 24/08/2007 à 06:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Et tu ouvres ça avec quoi ? J'ai pas trouvé l'ouvre boite !
Kassie
 Posté le 24/08/2007 à 14:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

L'ouvre boite en question c'est Excel 2007.

Je viens de le reposter en Excel 2003 si tu aimes mieux. http://cjoint.com/?iyon7jcszW

Merci !

m@rina
 Posté le 24/08/2007 à 16:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Kassie,

Dans ton fichier, tous les noms sont uniques...
Or tu dis que pour toutes donnée "A" trouvée, il afut trouverr la ligne "P" comportant le même nom.
On en déduit que c'est une erreur dans ton exemple, ou bien que je n'ai rien compris ?

Par ailleurs, toujours si je comprends bien, tu veux additionner le P et le A pour chaque personne ? Mais à quoi cela sert-il s'il faut ensuite supprimer le A ?...
Pas très clair pour moi, en tous les cas.

Mais je ne doute pas que Galopin va être plus malin

Kassie
 Posté le 24/08/2007 à 17:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Re-bonjour,

Je vais essayer d'éclaircir un peu...

Évidemment, j'ai été obligé de supprimer les noms pour pouvoir vous montrer le fichier. Confidentialité de l'information oblige.

Je doit additionner les lignes identifées A et P dans la colonne "Code" (colonne A) en me fiant au numéro d'identification (Colonne C) qui lui est unique pour chaque personne, peut importe le nom (j'ai des employés qui ont des noms identiques mais le numéro d'identification est unique pour chacun d'eux).

Une fois les additions faites, je dois supprimer la ligne A. Le tout dans le but de faire des opérations comptables sur ces données par la suite mais à ce niveau là, ca ira.

Ca ne semble pas ce qu'il y a de plus sorcier mais je n'arrive pas à monter le code VBA pour le faire

Merci encore d'essayer de m'aider !

galopin01
 Posté le 24/08/2007 à 18:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

A+

Faudrait essayer de poser des énoncés clair et sans erreur dès la première fois parce que on est obligé de repenser à chaque fois tout le bouzin. Dans l'ensemble c'est pas top de chercher à la fois la réponse et la question !

Bref on prend plus la colonne D ,on prend la colonne C. ça j'avais compris et l'addition on en fait quoi de l'addition? On la met sur la ligne P ?

Si la réponse est oui ça devrait donner quelque chose comme ça :

Sub test()
Dim i%, j%, k%, iLR%, z$, Arr()
'Recherche de la dernière ligne
iLR = Range("A65000").End(xlUp).Row
'de la ligne 6 à la dernière...
For i = 6 To iLR
'Si la valeur de la cellule est P
If Cells(i, 1).Value = "P" Then
'On définit la valeur de recherche
z = "A" & Cells(i, 3).Value
'on stocke toutes les valeurs de la colonne K à Q dans un Array
Arr = Range(Cells(i, 11), Cells(i, 17))
Do
'on passe en revue les lignes suivantes
k = k + 1
'Si on trouve la valeur de recherche
If Cells(i + k, 1).Value & Cells(i + k, 3).Value = z Then
'On écrit les sommes correspondantes dans les colonnes respectives
For j = 1 To 7
Cells(i, 10 + j).Value = Cells(i + k, 10 + j).Value + Arr(1, j)
Next
'On marque la ligne pour suppression ultérieure
Cells(i, 1).Value = "$"
'Si on arrive à la fin du tableau sans rien trouver...
ElseIf Cells(i + k, 1).Value = "" Then
'On réinitialise la variable
k = 0
'Et on quitte la boucle
Exit Do
End If
Loop
'on passe à la ligne suivante
End If
Next
'Suppression des lignes marquées
For k = iLR To 2 Step -1
If Cells(k, 1).Value = "$" Then Rows(k).Delete
Next
End Sub

Je te laisse vérifier...

Sinon faut préciser ce qu'on fait des additions.

A+

m@rina
 Posté le 24/08/2007 à 18:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Re...

Il me semble que la fonction Sous-totaux devrait te suffire, non ?

Commence par virer ces p]#$¥¿** de cellules fusionnées des entêtes de colonnes, puis insère une ligne vierge avant pour que le tableau soit reconnu comme tel par Excel.

Si tu veux faire un sous-total de A+P pour chaque personne, fais un tri (Onglet Données, groupe Trier et filtrer, bouton Trier) sur :
1) La colonne Numéro d'identification
2) La colonne Code

Puis Onglet Données, groupe Plan, bouton Sous-total. Dans la boîte de dialogue tu mets :
- A chaque changement de "Numéro d'identification"
- Fonction Somme
- Ajouter un sous total à : tu coches toutes tes colonnes de K à Q

Pour ne plus voir les A, tu peux utiliser le filtre...

Bon, je ne suis pas sûre d'être sur le bon chemin... A toi de dire Kassie. ;)

m@rina
 Posté le 24/08/2007 à 18:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Hello Galopin,

J'ai posté sans voir ta réponse !!!

Bon, attendons la suite ! ;)

Kassie
 Posté le 24/08/2007 à 21:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour Galopin, Bonjour M@rina,

Une gros merci à vous deux pour votre aide.

Galopin, désolée de n'avoir pas fait une bonne synthèse dès le départ. J'y porterai une meilleure attention la prochaine fois... Promis !

J'ai testé vos deux solutions et je dois dire que vos idées sont pas mal géniales. Galopin, tu me jettes à terre par ta maitrise du VBA. Marina, tu m'as appris une fonction que je ne connaissais pas sous Excel 2007. Merci à vous deux.

Bon alors, ce que ca donne. La solution VBA me semble géniale à une exeption près. Elle ne marque pas les bonnes lignes pour la suppression. C'est à dire qu'en roulant la macro pas-à-pas, je me suis rendue compte que les additions se font bien. Par contre, elle ne marque pas systématiquement que les A, mais aussi des P. Donc rendu à la phase suppression, elle n'enlève pas les bonnes lignes. Peux tu me donner un petit coup de pouce supplémentaire pour arranger le tout SVP ?

La solution du trier est bien aussi mais comporte des désavantages pour moi. C'est à dire qu'à la fin, il ne doit me rester que les lignes P comportant les infos personnelles (nom, numéro d'identification) et les totaux. Je dois absolument me débarasser du reste et de préférence pas manuellements, mes fichiers sont trop gros. Ce que je vous ai fourni n'est qu'une version allégée pour les besoins de la cause. De plus, ceux qui auront à utiliser ce fichier au final (pas toujours moi), je ne suis pas sure qu'ils maitrises suffisament Excel pour refaire l'exercice à chaque fois, à moins que je ne puisse aussi transformer ces étapes en macro.

J'ose donc vous demander un petit coup de pouce supplémentaires et promis, je prends des cours plus avancés à la prochaine cession !

JièL Goubert
 Posté le 25/08/2007 à 00:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Hello Galopin
C'est facile, pas cher et ça permet d'ouvrir les nouveaux type de fichiers
galopin01
 Posté le 25/08/2007 à 01:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Modifier la macro de la manière suivante :

'On marque la ligne pour suppression ultérieure
Cells(i + k, 1).Value = "$"

JièL: Cette cuisine moderne... je ne m'y ferai jamais ! La cuisine à Galopin, c'est de la cuisine à l'ancienne : Hein ! Cuisine pas avec des boites de conserve moi !
1 heure et des broutilles pour charger ça : Waow ! ça attendra le prochain changement de PC...
Mais je note quand même...

A+

JièL Goubert
 Posté le 25/08/2007 à 02:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
1 heure et des broutilles pour charger ça :
Whoooohhhh... 1 heure c'est avec un modem 56K. Tu es (encore) en RTC ? Si oui, je te plaint, sinon, essaye avec un minitel la prochaine fois , c'est encore plus long, c'est sûr
galopin01
 Posté le 25/08/2007 à 03:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Hmm... Je fonctionne essentiellement avec un portable et une liaison bas débit généreusement offerte pour des raisons professionnelles et je ne vois pas de raison d'en changer ! De plus, mon fils squate déjà la ligne téléphonique avec sa freebox.

Je ne suis pas suffisamment technicien pour jouer sur plusieurs réseau à la fois... D'ailleurs le PC de mon fils est tellement suspect que je n'oserais même pas lui confier ma clef USB ! Alors je ne vais pas y risquer ma compta...

A+

Kassie
 Posté le 27/08/2007 à 14:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour en ce début de semaine,

Galopin un immense merci pour ton aide, tout fonctionne parfaitement !

Merci aussi à tous les autres qui ont tenté de m'aider!

m@rina
 Posté le 27/08/2007 à 15:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Pour Galopin :

Hé Halopin !! Et la freebox en routeur, et le wifi... c'est pas fait pour les chiens... :D

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Ecran PC 24 pouces KTC H24F8 (IPS, Full HD, 190 Hz)
91,99 € 109 € -16%
@Geekbuying
Batterie externe ultra mince INIU Power Bank (10 000 mAh, PD 45W, câble USB C intégré)
27,54 € 34,99 € -21%
@Amazon
Souris sans fil Logitech G305
39,49 € 50 € -21%
@Amazon
Disque dur externe Seagate Expansion Desktop USB 3.0 16 To
254,54 € 310 € -18%
@Amazon Allemagne
1 Lego acheté = le 2ème à -50%
-1 -18%
@Amazon
Ecran 32 pouces incurvé KTC H32S17C (FHD, 180 Hz, 1 ms)
149 € 220 € -32%
@Geekbuying

Sujets relatifs
Excel une addition sous condition
Excel formule à double condition
Insérer un rang à une condition sous Excel
Comment créer une condition sous excel
Somme dans Excel sous condition
Excel: Calcul sous condition ...
Excel - Somme sous condition
Deux condition sous EXCEL
organiser mes contacts sous Excel
Excel 2013 sous Windowss 8.1
Plus de sujets relatifs à Excel: Addition sous condition double
 > Tous les forums > Forum Bureautique