Totaux selon code

Le
Sylvain P.
Bonjour à tous,

J'ai un fichier qui contient des données sur le format suivant :
dvg1% dvg1voix dvg2% dvg2voix
0,2 409 12,8 591
0,2 409 12,8 591

A chaque fois donc, un code de 3 lettres avec un numéro puis soit un %
soit un nombre.
Avec la macro suivante, je supprime les numéros associés au code,
j'additionne les % et les nombres dans des colonnes différentes :
Sub TotauxCodes()

'Supprime les numéros
For Each c In Rows("1:1")
x = c.Value
For i = 1 To 9
x = Application.Substitute(x, i, "")
Next
c.Value = Application.Substitute(x, 0, "")
Next c


'Additionne les colonnes de % et de voix pour chaque code
For lig = 1 To 10 'A adapter
For col = 1 To 8 'A adapter
If InStr(Cells(1, col), "dvg%") > 0 And Cells(lig, col) > 0
Then
Feuil3.Cells(lig, 10) = Feuil3.Cells(lig, 10) +
Feuil2.Cells(lig, col) ' Additionne les % en colonne 10 sur la Feuil3
Feuil3.Cells(lig, 11) = Feuil3.Cells(lig, 11) +
Feuil2.Cells(lig, col + 1) ' Additionne les voix en colonne 11 sur la
Feuil3
End If
Next
Next

End Sub

Le problème c'est que j'ignore la liste des codes et qu'ils peuvent
changer (mais le format reste toujours le même).
Il faudrait que la macro identifie les différents codes, sans que j'ai
à les programmer dans le dur.

Merci par avance pour toutes vos idées et suggestions très
précieuses !

A bientôt,

Sylvain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23282731
Bonjour,

Pourquoi te casses-tu le bésik à publier ton code ?

Poser une question c'est simple...

Voici ce que j'ai dans une cellule ou dans plusieurs cellules
et voici ce que je voudrais obtenir.

Moi, je n’ai rien compris à ta question. Tu aurais pu publier tout un
livre d'exemple de code que je n'aurais pas compris davantage ce
qu'est ton problème !

Attendons, il y a peut-être quelqu'un qui a bien identifié ta difficulté...


MichD
--------------------------------------------
Sylvain P.
Le #23283211
Ok ! Alors, je reformule ma question.

J'ai un fichier qui contient des données sur le format suivant :
dvg1% | dvg1voix | dvg2% | dvg2voix | srt1% | srt1voix | srt2% |
srt2voix | srt3% | srt3voix
0,2 | 409 | 12,8 | 591

A chaque fois donc, un code de 3 lettres avec un numéro puis soit un
%, soit un nombre.
J'aimerais avoir en feuille2 la somme des voix et des % pour chaque
code :
dvg% | dvgvoix
13 | 1000

En espérant avoir été plus clair !
Merci par avance pour vos idées.
MichD
Le #23283311
Reprenons ton problème :

En A2 : .02
en B2 : 409
En C2 : 12.8
En D2 : 591
Tu pourrais avoir d'autres colonnes comme ça en alternance

Si tu veux additionner les pourcentages :
Validation matricielle : Maj + Ctrl + Enter
G2 est arbitraire, tu remplaces par l'adresse de ta dernière colonne
=SOMME(SI(MOD(COLONNE(Feuil1!A2:G2);2)=1;Feuil1!A2:G2))

Pour additionner les voix :
même principe... validation matricielle :
=SOMME(SI(MOD(COLONNE(Feuil1!A2:G2);2)=0;Feuil1!A2:G2))

Comme tu fais référence aux cellules d'une autre feuille,
tu devras ajouter le nom de la feuille dans les adresses.

Tu recopies ces formules sur le nombre de lignes appropriées.


MichD
--------------------------------------------
"Sylvain P." a écrit dans le message de groupe de discussion :


Ok ! Alors, je reformule ma question.

J'ai un fichier qui contient des données sur le format suivant :
dvg1% | dvg1voix | dvg2% | dvg2voix | srt1% | srt1voix | srt2% |
srt2voix | srt3% | srt3voix
0,2 | 409 | 12,8 | 591

A chaque fois donc, un code de 3 lettres avec un numéro puis soit un
%, soit un nombre.
J'aimerais avoir en feuille2 la somme des voix et des % pour chaque
code :
dvg% | dvgvoix
13 | 1000

En espérant avoir été plus clair !
Merci par avance pour vos idées.
Sylvain P.
Le #23284461
Merci beaucoup.
J'ai plusieurs centaines de colonnes, plus de 60000 lignes et surtout
plusieurs codes qui ne sont pas tous côte à côte :
dvg1% | dvg1voix | dvg2% | dvg2voix | srt1% | srt1voix | srt2% |
srt2voix | srt3% | srt3voix

C'est pour cette raison que j'étais parti sur une macro plutôt qu'une
formule, qui n'est pas vraiment adaptée à mon sens étant donné le
fichier.
D'autres suggestions ?
Anyone ?

Merci encore !! et merci par avance.

Sylvain
MichD
Le #23284481
Les formules données vont fonctionner même si tu as des cellules vides
dans certaines colonnes, pourvu que le principe d'alternance telle que
tu as énoncé dans la donne de ton problème demeure valide.

As-tu essayé ?


MichD
--------------------------------------------
"Sylvain P." a écrit dans le message de groupe de discussion :


Merci beaucoup.
J'ai plusieurs centaines de colonnes, plus de 60000 lignes et surtout
plusieurs codes qui ne sont pas tous côte à côte :
dvg1% | dvg1voix | dvg2% | dvg2voix | srt1% | srt1voix | srt2% |
srt2voix | srt3% | srt3voix

C'est pour cette raison que j'étais parti sur une macro plutôt qu'une
formule, qui n'est pas vraiment adaptée à mon sens étant donné le
fichier.
D'autres suggestions ?
Anyone ?

Merci encore !! et merci par avance.

Sylvain
Sylvain P.
Le #23284491
Oui, j'ai essayé.
ça marche : j'ai bien la somme des pourcentages et la somme des voix
(en alternance une colonne sur deux).

Mais ce que je souhaite, c'est d'avoir la somme des pourcentages et la
somme des voix pour chaque code (quel que soit son numéro : par ex,
addition de dvg1%+dvg2%+dvg3%...). Ainsi, si j'ai 30 codes, je dois
avoir en feuil3 60 colonnes (soit 30 sommes des pourcentages et 30
sommes des voix).

Est-ce plus clair ?
Désolé pour ce flou et merci pour ton aide.

Sylvain
MichD
Le #23284531
Utilise cette adresse cijoint.fr et publie seulement quelques lignes de données de ta feuille
et dis nous le résultat que tu veux obtenir (la présentation de ce dernier s'il y a lieu).
Retourne-nous ici l'adresse que tu auras obtenue.

Évidemment, fais disparaître l'information qui pourrait être sensible!


MichD
--------------------------------------------
"Sylvain P." a écrit dans le message de groupe de discussion :


Oui, j'ai essayé.
ça marche : j'ai bien la somme des pourcentages et la somme des voix
(en alternance une colonne sur deux).

Mais ce que je souhaite, c'est d'avoir la somme des pourcentages et la
somme des voix pour chaque code (quel que soit son numéro : par ex,
addition de dvg1%+dvg2%+dvg3%...). Ainsi, si j'ai 30 codes, je dois
avoir en feuil3 60 colonnes (soit 30 sommes des pourcentages et 30
sommes des voix).

Est-ce plus clair ?
Désolé pour ce flou et merci pour ton aide.

Sylvain
Sylvain P.
Le #23284541
Et voilà :
http://www.cijoint.fr/cjlink.php?file=cj201104/cijj3wv5ce.xls

En Feuil1 : ce que j'ai comme données.
En Feuil2 : ce que je souhaite obtenir.

Merci !!

Sylvain
MichD
Le #23284671
Ton fichier : http://www.cijoint.fr/cjlink.php?file=cj201104/cijrnZg8RP.xls
La macro est dans le module1

Dans la procédure, Feuil4 et Feuil3 représentent la propriété Name des objets Feuille
visible seulement dans la fenêtre de l'éditeur de code et non le nom des onglets des feuilles

Dans la feuil4 est une copie de la feuil1 et les résultats de la macro est dans la feuil3


MichD
--------------------------------------------

"Sylvain P." a écrit dans le message de groupe de discussion :


Et voilà :
http://www.cijoint.fr/cjlink.php?file=cj201104/cijj3wv5ce.xls

En Feuil1 : ce que j'ai comme données.
En Feuil2 : ce que je souhaite obtenir.

Merci !!

Sylvain
Jacquouille
Le #23284871
Bonsoir Sylvain
Pourquoi n'insères-tu pas une ligne en A2 et y mettre la somme de toute la
colonne?
Ensuite, tu fais la somme des col à % (¥+C5) et tu obtiens bien 72.4 comme
le demande ton exemple. tu peux même tirer cette formule vers la
droite.....

C'est dans les plus gros fichier qu'il faut faire simple.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Sylvain P." a écrit dans le message de groupe de discussion :


Et voilà :
http://www.cijoint.fr/cjlink.php?file=cj201104/cijj3wv5ce.xls

En Feuil1 : ce que j'ai comme données.
En Feuil2 : ce que je souhaite obtenir.

Merci !!

Sylvain
Publicité
Poster une réponse
Anonyme