Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

agreger des montants dont les libellés sont identiques

6 réponses
Avatar
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

6 réponses

Avatar
Modeste
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
Avatar
Daniel.C
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


Avatar
FFO
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
Avatar
intactsaphir
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
Avatar
intactsaphir
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
Avatar
intactsaphir
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