De retour sur mpfe pour vous demander un coup de main, d'avance merci
aux experts toujours prets =E0 contribuer =E0 notre apprentissage par
l'exemple !!
Voil=E0, je vais joindre un fichier qui traduit ma demande
http://www.cijoint.fr/cjlink.php?file=3Dcj200903/cij3CsjC8I.xls
J'ai une base de donn=E9es avec en colonne A des num=E9ros de
d=E9partements, en colonne B le CA en cours et en colonne C le code du
client.
la sheet se nomme "A"
Je souhaite remplacer ces 3 colonnes par le r=E9sultat qui devrait etre
exprim=E9 comme cela:
En colonne E la liste des departements uniques, en colonne F en face
de chaque d=E9partement, la somme de tous les CA du departement et en
colonne G le nombre de code client UNIQUE pour le d=E9partement.
Le r=E9sultat est visible dans les colonnes EFG de mon fichier exemple,
Le luxe serait d'avoir dans une autre colonne la liste des
d=E9partements ou il n'y a pas de CA ....... donc tous les d=E9partements
qui ne sont pas list=E9s dans la colonne A ....
Comment faire en passant absolument par vba, sans utiliser les sous
totaux d'excel et le r=E9sultat exprim=E9 dans les colonnes EFG doit se
trouver en ABC et remplacer donc toutes les donn=E9es de la mini
base .....
Je ne m'=E9loigne pas loin de l'=E9cran, dans l'attente de vos pertinentes
r=E9ponses et suggestions
(ce qui implique déclaration des variables mais + fluidité des procédures)
a écrit :
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présents dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
(ce qui implique déclaration des variables mais + fluidité des procédures)
sylvie.laurent82@wanadoo.fr a écrit :
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je
ne suis pas blonde !!!) de comprendre et d'appliquer une partie des
possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre
colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présents
dans la colonne A et aui donne ceux qui ne le sont pas ???
next i
'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire
une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus
on finit par comprendre !!!
(ce qui implique déclaration des variables mais + fluidité des procédures)
a écrit :
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présents dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
JB
Bonjour,
http://cjoint.com/?dynovWIolZ
Sub DicoSansDoublons() t = Timer() Set mondico = CreateObject("Scripting.Dictionary") n = 40000 For i = 1 To n temp = Int(Rnd * n) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i [a2].Resize(mondico.Count) = Application.Transpose(mondico.items) MsgBox Timer() - t ' 0,25 sec End Sub
' 0,25 sec
Sub CollectionSansDoublons() Dim t, i As Long, n As Long, temp As Long t = Timer() Dim Maliste As New Collection On Error Resume Next n = 40000 For i = 1 To n temp = Int(Rnd * n) Maliste.Add Item:=temp, key:=CStr(temp) Next i On Error GoTo 0 Dim a() ReDim a(1 To n) For i = 1 To Maliste.Count a(i) = Maliste(i) Next i [a2].Resize(Maliste.Count) = Application.Transpose(a) MsgBox Timer() - t ' 10 sec End Sub
' 10 sec
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
Bonjour,
http://cjoint.com/?dynovWIolZ
Sub DicoSansDoublons()
t = Timer()
Set mondico = CreateObject("Scripting.Dictionary")
n = 40000
For i = 1 To n
temp = Int(Rnd * n)
If Not mondico.Exists(temp) Then mondico.Add temp, temp
Next i
[a2].Resize(mondico.Count) = Application.Transpose(mondico.items)
MsgBox Timer() - t ' 0,25 sec
End Sub
' 0,25 sec
Sub CollectionSansDoublons()
Dim t, i As Long, n As Long, temp As Long
t = Timer()
Dim Maliste As New Collection
On Error Resume Next
n = 40000
For i = 1 To n
temp = Int(Rnd * n)
Maliste.Add Item:=temp, key:=CStr(temp)
Next i
On Error GoTo 0
Dim a()
ReDim a(1 To n)
For i = 1 To Maliste.Count
a(i) = Maliste(i)
Next i
[a2].Resize(Maliste.Count) = Application.Transpose(a)
MsgBox Timer() - t ' 10 sec
End Sub
' 10 sec
JB
On 22 mar, 12:30, sylvie.lauren...@wanadoo.fr wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je
ne suis pas blonde !!!) de comprendre et d'appliquer une partie des
possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre
colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts
dans la colonne A et aui donne ceux qui ne le sont pas ???
next i
'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire
une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus
on finit par comprendre !!!
Sub DicoSansDoublons() t = Timer() Set mondico = CreateObject("Scripting.Dictionary") n = 40000 For i = 1 To n temp = Int(Rnd * n) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i [a2].Resize(mondico.Count) = Application.Transpose(mondico.items) MsgBox Timer() - t ' 0,25 sec End Sub
' 0,25 sec
Sub CollectionSansDoublons() Dim t, i As Long, n As Long, temp As Long t = Timer() Dim Maliste As New Collection On Error Resume Next n = 40000 For i = 1 To n temp = Int(Rnd * n) Maliste.Add Item:=temp, key:=CStr(temp) Next i On Error GoTo 0 Dim a() ReDim a(1 To n) For i = 1 To Maliste.Count a(i) = Maliste(i) Next i [a2].Resize(Maliste.Count) = Application.Transpose(a) MsgBox Timer() - t ' 10 sec End Sub
' 10 sec
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
JB
Département sans CA:
http://cjoint.com/?dynM4IxDo2
Sub DeptSansCa() Set mondico = CreateObject("Scripting.Dictionary") For i = 1 To [A65000].End(xlUp).Row temp = Cells(i, 1) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i k = 2 For d = 1 To 95 dep = Format(d, "00") If Not mondico.Exists(dep) Then Cells(k, "I").NumberFormat = "@" Cells(k, "I") = dep k = k + 1 End If Next d End Sub
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
Département sans CA:
http://cjoint.com/?dynM4IxDo2
Sub DeptSansCa()
Set mondico = CreateObject("Scripting.Dictionary")
For i = 1 To [A65000].End(xlUp).Row
temp = Cells(i, 1)
If Not mondico.Exists(temp) Then mondico.Add temp, temp
Next i
k = 2
For d = 1 To 95
dep = Format(d, "00")
If Not mondico.Exists(dep) Then
Cells(k, "I").NumberFormat = "@"
Cells(k, "I") = dep
k = k + 1
End If
Next d
End Sub
JB
On 22 mar, 12:30, sylvie.lauren...@wanadoo.fr wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je
ne suis pas blonde !!!) de comprendre et d'appliquer une partie des
possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre
colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts
dans la colonne A et aui donne ceux qui ne le sont pas ???
next i
'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire
une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus
on finit par comprendre !!!
Sub DeptSansCa() Set mondico = CreateObject("Scripting.Dictionary") For i = 1 To [A65000].End(xlUp).Row temp = Cells(i, 1) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i k = 2 For d = 1 To 95 dep = Format(d, "00") If Not mondico.Exists(dep) Then Cells(k, "I").NumberFormat = "@" Cells(k, "I") = dep k = k + 1 End If Next d End Sub
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
JB
http://cjoint.com/?dynRJWnsJU
Sub DeptSansCa() Set mondico = CreateObject("Scripting.Dictionary") For i = 1 To [A65000].End(xlUp).Row temp = CStr(Cells(i, 1)) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i k = 2 For d = 1 To 95 dep = Format(d, "00") If Not mondico.Exists(dep) Then Cells(k, "I").NumberFormat = "@" Cells(k, "I") = dep k = k + 1 End If Next d End Sub
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!
SYLVBA
http://cjoint.com/?dynRJWnsJU
Sub DeptSansCa()
Set mondico = CreateObject("Scripting.Dictionary")
For i = 1 To [A65000].End(xlUp).Row
temp = CStr(Cells(i, 1))
If Not mondico.Exists(temp) Then mondico.Add temp, temp
Next i
k = 2
For d = 1 To 95
dep = Format(d, "00")
If Not mondico.Exists(dep) Then
Cells(k, "I").NumberFormat = "@"
Cells(k, "I") = dep
k = k + 1
End If
Next d
End Sub
JB
On 22 mar, 12:30, sylvie.lauren...@wanadoo.fr wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je
ne suis pas blonde !!!) de comprendre et d'appliquer une partie des
possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre
colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts
dans la colonne A et aui donne ceux qui ne le sont pas ???
next i
'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire
une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus
on finit par comprendre !!!
Sub DeptSansCa() Set mondico = CreateObject("Scripting.Dictionary") For i = 1 To [A65000].End(xlUp).Row temp = CStr(Cells(i, 1)) If Not mondico.Exists(temp) Then mondico.Add temp, temp Next i k = 2 For d = 1 To 95 dep = Format(d, "00") If Not mondico.Exists(dep) Then Cells(k, "I").NumberFormat = "@" Cells(k, "I") = dep k = k + 1 End If Next d End Sub
JB
On 22 mar, 12:30, wrote:
Merci à Hervé pour cette explication, je planche, je planche .....
entre le site de JB et cette explication, je devrai etre capable (je ne suis pas blonde !!!) de comprendre et d'appliquer une partie des possibilités de cette nouvelle façon de faire !!
dans ma question d'origine, je souhaitai aussi lister dans une autre colonne le départements absents (ceux donc il n'y aurait pas de CA)
un for i = 1 to 95
'ici un code qui compare les département de 1 à 95 avec ceux présen ts dans la colonne A et aui donne ceux qui ne le sont pas ???
next i 'ici écrire dans la colonne F par exemple.
j'ai utilisé le code de JB avec les 3 loop pour info, comment faire une version "deluxe" avec l'indication des départements à 0 ?
En tout cas merci encore à vous, c'est toujours un plaisir et en plus on finit par comprendre !!!