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

Possible sans macro ???

13 réponses
Avatar
peneloppe
Bjr
voilà mon problème

je dois faire le calcul annuel des appels telephoniques en interne

j'ai donc une colonne avec les villes , une autre avec les n°
appelants et une autre avec les n° appelés

On retrouve bien evidemment dans la colonne appelés certains n°
appelants (principa de l'appel interne )

Ma question est comment isoler, si possible sans macro, ces appels
internes ??

si pas possible sans macro, tant pis je m'y mettrais

merci de vos conseils..

10 réponses

1 2
Avatar
FdeCourt
Bonjour,

S'il y a trois colonnes, ne suffit-il pas de comparer la cellule de la
colonne N° appelé avec celle de la colonne N° appelant ?

Dans une quatrieme colonne : ²Â > Si c'est identique, alors
cela affiche vrai, sinon faux. Toutes les cellules avec vrai indique
un numéro appelant et appelé identique

Ensuite avec un filtre ou un TCD, tu devrais trouver ton bonheur.

Cordialement,

F.


On 26 mar, 16:00, peneloppe wrote:
Bjr
voilà mon problème

je dois faire le calcul annuel des appels telephoniques en interne

j'ai donc une colonne avec les villes , une autre avec les n°
appelants et une autre avec les n° appelés

On retrouve bien evidemment dans la colonne appelés certains n°
appelants (principa de l'appel interne )

Ma question est comment isoler, si possible sans macro, ces appels
internes ??

si pas possible sans macro,  tant pis je m'y mettrais

merci de vos conseils..


Avatar
Misange
Bjr
voilà mon problème

je dois faire le calcul annuel des appels telephoniques en interne

j'ai donc une colonne avec les villes , une autre avec les n°
appelants et une autre avec les n° appelés

On retrouve bien evidemment dans la colonne appelés certains n°
appelants (principa de l'appel interne )

Ma question est comment isoler, si possible sans macro, ces appels
internes ??

si pas possible sans macro, tant pis je m'y mettrais

merci de vos conseils..


Bonjour
il faut que tu élimines de la colonne appelés les numéros se trouvant
dans la colonne appelants donc si tu ne veux pas de macro, tu peux
ajouter une colonne qui te dira si c'est un appel interne ou pas et
ensuite trier ton tableau pour regrouper tous les appels internes et les
supprimer
tes appelants en colonne A, tes appelés en colonne B en C1 tu écris
=SI(NB.SI($A:$A;B1)>=1;"interne";"OK")
ensuite tu tries.
Sinon par macros, plusieurs solutions
regarde ici pour directement supprimer les doublons
http://www.excelabo.net/excel/comparereliminer.php (à adapter car il
faut que tu supprimes la ligne entière)

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
Misange
Bonjour,

S'il y a trois colonnes, ne suffit-il pas de comparer la cellule de la
colonne N° appelé avec celle de la colonne N° appelant ?

Dans une quatrieme colonne : ²Â > Si c'est identique, alors
cela affiche vrai, sinon faux. Toutes les cellules avec vrai indique
un numéro appelant et appelé identique


euh... Tu t'appelles souvent toi même au téléphone ? chez moi ça sonne
occupé :-)

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
FdeCourt
Oulaaaah.... :)
Merde et je ne suis même pas fatigué !!!!!


On 26 mar, 16:23, Misange wrote:

Bonjour,

S'il y a trois colonnes, ne suffit-il pas de comparer la cellule de la
colonne N° appelé avec celle de la colonne N° appelant ?

Dans une quatrieme colonne  : ²Â   > Si c'est identique, alo rs
cela affiche vrai, sinon faux. Toutes les cellules avec vrai indique
un numéro appelant et appelé identique


euh... Tu t'appelles souvent toi même au téléphone ? chez moi ça s onne
occupé :-)

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !http://xlwiki.f ree.fr/wikihttp://www.excelabo.net



Avatar
peneloppe
il s'agit bien entendu d'appels telephoniqes en entreprise et multi
sites......
Avatar
Michel Samoey
Bonjour,
il faut prévoir le cas ou un numéro n'appelle jamais mais peut être appelé

Il faudrait aussi que Peneloppe précise si les numéros internes sont au
même format que les numéros externes, ou bien s'il commencent tous par la
même séquence, il y aurait peut être aussi un solution simple de ce coté là.

Cordialement
Michel

"Misange" a écrit dans le message de news:


Bonjour
il faut que tu élimines de la colonne appelés les numéros se trouvant dans
la colonne appelants donc si tu ne veux pas de macro, tu peux ajouter une
colonne qui te dira si c'est un appel interne ou pas et ensuite trier ton
tableau pour regrouper tous les appels internes et les supprimer
tes appelants en colonne A, tes appelés en colonne B en C1 tu écris
=SI(NB.SI($A:$A;B1)>=1;"interne";"OK")
ensuite tu tries.
Sinon par macros, plusieurs solutions
regarde ici pour directement supprimer les doublons
http://www.excelabo.net/excel/comparereliminer.php (à adapter car il faut
que tu supprimes la ligne entière)

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net


Avatar
Misange
il s'agit bien entendu d'appels telephoniqes en entreprise et multi
sites......
oui c'est ce que j'ai compris. La solution que je t'ai proposée ne te

convient pas ? si c'est le cas explique mieux ce que tu veux

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
peneloppe
D'abord un grand merci pour votre aide

ce que je n'aie pas dit

la taille du fichier : 445 171 lignes et une quinzaine de colonnes
je ne peux rien supprimer : a partir du moment ou je dois calculer le
cout des appels ; si je supprime des doublons , je supprime également
les données associées a cette suppression

c'est quoi un appel interne ?

c'est un numero de la colonne appelés que l'on va retrouver dans la
colonne appelant

donc en fait il faut pour chaque cellule de la colonne appelés
regarder si la valeur de la cellule se retrouve dans le colonne
appelant
Sans macro, je vois pas comment faire

pour que ce soit plus explicite , voilà ce que ca donne

A B C
Appelant Appeles Interne
1 195
2 1 OK
3 77 OK
4 593
20 85 OK
17 24
65 43 OK
85 73
15 20 OK
36 4 OK
43 17 OK
77 861
62 674
Avatar
Misange
D'abord un grand merci pour votre aide

ce que je n'aie pas dit

la taille du fichier : 445 171 lignes et une quinzaine de colonnes
je ne peux rien supprimer : a partir du moment ou je dois calculer le
cout des appels ; si je supprime des doublons , je supprime également
les données associées a cette suppression
Alors ce que je te propose au plus simple et sans macro:

Une fois que tu as ajouté ta colonne C, tu fais ton calcul à l'aide de
sommeprod (voir sur xlwiki dans la rubrique fonction des explications
détaillées sur cette fonction magique et documentée sur un pouillème de
ses capacités seulement dans l'aide d'excel.) Tu peux ainsi combiner de
multiples critères de sélection de tes données.

Autre solution : tu récupères dans ta colonne C des "OK" ou "interne",
tu fais un filtre sur ce terme et tu copies tes données sur une autre
feuille sur laquelle tu fais tes calculs.
De cette façon ta feuille initiale (après suppression du filtre) n'est
pas modifiée, sauf la colonne C que tu peux toujours effacer ensuite.

Sinon encore tu fais ton calcul par macro, en testant pour chaque ligne
si elle répond ou non au critère.

Y'a du choix !

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
FdeCourt
Salut,

Avec un un sommeprod, cela risque d'être extrement long a calculer,
surtout sur les 445 171 lignes.....

Avec une macro, pour analyser 65535 lignes, dont environ 50% sont des
numéros internes, cela m'a pris 1 minute 41 (attention, je me suis
basé sur 3 colonne uniquement, la macro écrit dans la colonne C).

En faisant la même chose avec SOMMEPROD "=SOMMEPROD(N(B1=$A$1:$A
$65535))", en 1 minute 41, excel a fait le calcul pour 3139 lignes
seulement

Option Base 1

Sub test_doublon()
Dim donnees
Dim resultat()
Dim MaCollection As New Collection
Dim d As Long, i As Long, Lgn As Long

donnees = Range(Cells(1, 1), Cells(Cells(65536, 1).End(xlUp).Row,
2))
Lgn = UBound(donnees, 1)

ReDim resultat(1 To UBound(donnees))

For i = 1 To Lgn
On Error Resume Next
MaCollection.Add Item:=donnees(i, 1), key:=donnees(i, 1)
Next
d = MaCollection.Count + 1
For i = 1 To Lgn
On Error Resume Next
MaCollection.Add Item:=donnees(i, 2), key:=donnees(i, 2)
If Err <> 0 Then
resultat(i) = "Interne"
Else
MaCollection.Remove (d)
End If
Next

Range(Cells(1, 3), Cells(Lgn, 3)) = Application.Transpose(resultat)

End Sub

F.

On 27 mar, 09:55, Misange wrote:
peneloppe a écrit :> D'abord un grand merci pour votre aide

ce que je n'aie pas dit

la taille du fichier : 445 171 lignes et une quinzaine de colonnes  
je ne peux rien supprimer :  a partir du moment ou je dois calculer le
cout des appels ; si je supprime des doublons , je supprime également
les données associées a cette suppression


Alors ce que je te propose au plus simple et sans macro:
Une fois que tu as ajouté ta colonne C, tu fais ton calcul à l'aide de
sommeprod (voir sur xlwiki dans la rubrique fonction des explications
détaillées sur cette fonction magique et documentée sur un pouillè me de
ses capacités seulement dans l'aide d'excel.) Tu peux ainsi combiner de
multiples critères de sélection de tes données.

Autre solution : tu récupères dans ta colonne C des "OK" ou "interne",
tu fais un filtre sur ce terme et tu copies tes données sur une autre
feuille sur laquelle tu fais tes calculs.
De cette façon ta feuille initiale (après suppression du filtre) n'est
pas modifiée, sauf la colonne C que tu peux toujours effacer ensuite.

Sinon encore tu fais ton calcul par macro, en testant pour chaque ligne
si elle répond ou non au critère.

Y'a du choix !

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !http://xlwiki.f ree.fr/wikihttp://www.excelabo.net



1 2