agreger des montants dont les libellés sont identiques

Le
intactsaphir
Bonjour,
Je souhaiterais votre aide pour le problème suivant.

Voir avec le fichier joint:

http://www.cijoint.fr/cjlink.php?file=cj200905/cijjx9dhtW.xls


La zone de couleur jaune (issue d’un précédent traitement (5000 lignes)) comporte des montants et différents libellés sur la gauche de ceux-ci.

Le résultat du traitement (vba) serait un tableau ( zone de couleur bleue) dans une feuille nouvelle (ou pas), lequel, comporterait:
la somme des montants et la recopie sur une ligne des libellés correspondants dès que ces libellés sont identiques ;
Si les libellés sont différents recopie de la ligne avec leurs montants correspondants.

merci de me répondre

Cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #19407691
Bonsour® intactsaphir avec ferveur ;o))) vous nous disiez :

http://www.cijoint.fr/cjlink.php?file=cj200905/cijjx9dhtW.xls
Le résultat du traitement (vba) serait un tableau ( zone de couleur
bleue) dans une feuille nouvelle (ou pas), lequel, comporterait:
la somme des montants et la recopie sur une ligne des libellés
correspondants dès que ces libellés sont identiques ;
Si les libellés sont différents recopie de la ligne avec leurs
montants correspondants.



Voir l'assistant de tableau croisé dynamique
http://www.cijoint.fr/cjlink.php?file=cj200905/cij42OvJPa.xls
Daniel.C
Le #19407871
Bonjour.
Sur une nouvelle feuille "Feuil2" :

Sub test()
Dim Ligne As Long, l As Long
Sheets("Feuil1").Select
l = [A65536].End(xlUp).Row
For Each c In Range([A1], [A65536].End(xlUp))
If Evaluate("sumproduct((A1:A" & c.Row & "=" & c.Address &
")*(B1:B" & c.Row & _
"=" & c.Offset(, 1).Address & ")*(C1:C" & c.Row & "=" &
c.Offset(, 2).Address & ")*(D1:D" & c.Row & "=" & c.Offset(, 3).Address
& "))") = 1 Then
Ligne = Ligne + 1
With Sheets("Feuil2")
.Cells(Ligne, 1) = c
.Cells(Ligne, 2) = c.Offset(, 1)
.Cells(Ligne, 3) = c.Offset(, 2)
.Cells(Ligne, 4) = c.Offset(, 3)
.Cells(Ligne, 5) = Evaluate("sumproduct((A1:A" & l & "=" &
c.Address & ")*(B1:B" & l & _
"=" & c.Offset(, 1).Address & ")*(C1:C" & l & "=" &
c.Offset(, 2).Address & ")*(D1:D" & l & _
"=" & c.Offset(, 3).Address & ")*E1:E" & l & ")")
End With
End If
Next c
End Sub

Cordialement.
Daniel

Bonjour,
Je souhaiterais votre aide pour le problème suivant.

Voir avec le fichier joint:

http://www.cijoint.fr/cjlink.php?file=cj200905/cijjx9dhtW.xls


La zone de couleur jaune (issue d’un précédent traitement (5000 lignes))
comporte des montants et différents libellés sur la gauche de ceux-ci.

Le résultat du traitement (vba) serait un tableau ( zone de couleur bleue)
dans une feuille nouvelle (ou pas), lequel, comporterait:
la somme des montants et la recopie sur une ligne des libellés
correspondants dès que ces libellés sont identiques ;
Si les libellés sont différents recopie de la ligne avec leurs montants
correspondants.

merci de me répondre

Cordialement


FFO
Le #19407861
Salut à toi

Sur ce lien ton fichier adapté

Cliques sur le bouton Traitement

Donnes moi ton avis !!!!!

http://www.cijoint.fr/cjlink.php?file=cj200905/cijqgtpwTO.xls
intactsaphir
Le #19413101
Modeste a écrit le 25/05/2009 à 17h00 :
Bonsour® intactsaphir avec ferveur ;o))) vous nous disiez :

http://www.cijoint.fr/cjlink.php?file=cj200905/cijjx9dhtW.xls
Le résultat du traitement (vba) serait un tableau ( zone de couleur
bleue) dans une feuille nouvelle (ou pas), lequel, comporterait:
la somme des montants et la recopie sur une ligne des libellés
correspondants dès que ces libellés sont identiques ;
Si les libellés sont différents recopie de la ligne avec leurs
montants correspondants.




Voir l'assistant de tableau croisé dynamique
http://www.cijoint.fr/cjlink.php?file=cj200905/cij42OvJPa.xls


Bonjour Modeste
Merci de votre réponse.
Je ne connais pas encore les TCD.
Je vais sursseoir à manque de culture excel très prochainement.
Cordialement
IS
intactsaphir
Le #19413111
Daniel.C a écrit le 25/05/2009 à 17h24 :
Bonjour.
Sur une nouvelle feuille "Feuil2" :

Sub test()
Dim Ligne As Long, l As Long
Sheets("Feuil1").Select
l = [A65536].End(xlUp).Row
For Each c In Range([A1], [A65536].End(xlUp))
If Evaluate("sumproduct((A1:A" & c.Row & "=" &
c.Address &
")*(B1:B" & c.Row & _
"=" & c.Offset(, 1).Address & ")*(C1:C" & c.Row
& "=" &
c.Offset(, 2).Address & ")*(D1:D" & c.Row & "="
& c.Offset(, 3).Address
& "))") = 1 Then
Ligne = Ligne + 1
With Sheets("Feuil2")
.Cells(Ligne, 1) = c
.Cells(Ligne, 2) = c.Offset(, 1)
.Cells(Ligne, 3) = c.Offset(, 2)
.Cells(Ligne, 4) = c.Offset(, 3)
.Cells(Ligne, 5) = Evaluate("sumproduct((A1:A" & l &
"=" &
c.Address & ")*(B1:B" & l & _
"=" & c.Offset(, 1).Address & ")*(C1:C" & l
& "=" &
c.Offset(, 2).Address & ")*(D1:D" & l & _
"=" & c.Offset(, 3).Address & ")*E1:E" & l
& ")")
End With
End If
Next c
End Sub

Cordialement.
Daniel

Bonjour,
Je souhaiterais votre aide pour le problème suivant.

Voir avec le fichier joint:

http://www.cijoint.fr/cjlink.php?file=cj200905/cijjx9dhtW.xls


La zone de couleur jaune (issue d’un précédent traitement
(5000 lignes))
comporte des montants et différents libellés sur la gauche de
ceux-ci.

Le résultat du traitement (vba) serait un tableau ( zone de couleur
bleue)
dans une feuille nouvelle (ou pas), lequel, comporterait:
la somme des montants et la recopie sur une ligne des libellés
correspondants dès que ces libellés sont identiques ;
Si les libellés sont différents recopie de la ligne avec leurs
montants
correspondants.

merci de me répondre

Cordialement





Bonjour Daniel.C
Merci de votre réponse.
j'ai testé votre programme lequel fonctionne selon mes souhaits.
Il y a une autre question que je souhaiterais vous poser.
Pourriez-vous m'indiquer comment avez vous procédé pour la réalisation de cette macro?
Dans l'abus de ma demande, pourriez vous commenter votre programme?
Cordialement
IS
intactsaphir
Le #19413141
FFO a écrit le 25/05/2009 à 17h25 :
Salut à toi

Sur ce lien ton fichier adapté

Cliques sur le bouton Traitement

Donnes moi ton avis !!!!!

http://www.cijoint.fr/cjlink.php?file=cj200905/cijqgtpwTO.xls


Bonjour FFO
Merci de votre réponse.
j'ai testé votre programme lequel fonctionne selon mes souhaits.
Comme indiqué à Daniel. C dans le même fil, Il y a une autre question que je souhaiterais vous poser.
Pourriez-vous m'indiquer comment avez vous procédé pour la réalisation de cette macro?
De même, pourriez vous commenter votre programme?
Cordialement
IS
Publicité
Poster une réponse
Anonyme