Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rouch
Bonjour,
2 questions: Tes donnees sont'elles en 1 colonne ou en 2 (c'est à dire as tu le nom dans la preimère colonne et la date dans la deuxième ou tout est'il dans la première?) Quelle version d'XL utilises tu?
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
Bonjour,
2 questions:
Tes donnees sont'elles en 1 colonne ou en 2 (c'est à dire as tu le nom
dans la preimère colonne et la date dans la deuxième ou tout est'il
dans la première?)
Quelle version d'XL utilises tu?
2 questions: Tes donnees sont'elles en 1 colonne ou en 2 (c'est à dire as tu le nom dans la preimère colonne et la date dans la deuxième ou tout est'il dans la première?) Quelle version d'XL utilises tu?
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
LSteph
Bonjour,
la meilleure je ne sais pas, voici une façon, exemple:
http://cjoint.com/?gwmXJ8ZJm3
voici le code du bouton inséré dans la feuille et nommé CmbExtraction via la fenêtre des propriétés
Private Sub CmbExtraction_Click() Dim i As Long, c As Range Application.ScreenUpdating = False [e1:iv10000].Delete Range("A1:" & [a65536].End(xlUp).Address).AdvancedFilter _ Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True
For i = 2 To [e65536].End(xlUp).Row For Each c In Range("b1:" & [b65536].End(xlUp).Address) If c.Offset(0, -1) = Cells(i, 5) Then _ Cells(i, 256).End(xlToLeft).Offset(0, 1) = c Next c Next i Range("F2:IV10000").NumberFormat = "m/d/yyyy"
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
Bonjour,
la meilleure je ne sais pas, voici une façon, exemple:
http://cjoint.com/?gwmXJ8ZJm3
voici le code du bouton inséré dans la feuille et nommé CmbExtraction
via la fenêtre des propriétés
Private Sub CmbExtraction_Click()
Dim i As Long, c As Range
Application.ScreenUpdating = False
[e1:iv10000].Delete
Range("A1:" & [a65536].End(xlUp).Address).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True
For i = 2 To [e65536].End(xlUp).Row
For Each c In Range("b1:" & [b65536].End(xlUp).Address)
If c.Offset(0, -1) = Cells(i, 5) Then _
Cells(i, 256).End(xlToLeft).Offset(0, 1) = c
Next c
Next i
Range("F2:IV10000").NumberFormat = "m/d/yyyy"
la meilleure je ne sais pas, voici une façon, exemple:
http://cjoint.com/?gwmXJ8ZJm3
voici le code du bouton inséré dans la feuille et nommé CmbExtraction via la fenêtre des propriétés
Private Sub CmbExtraction_Click() Dim i As Long, c As Range Application.ScreenUpdating = False [e1:iv10000].Delete Range("A1:" & [a65536].End(xlUp).Address).AdvancedFilter _ Action:=xlFilterCopy, CopyToRange:=Range("E1"), Unique:=True
For i = 2 To [e65536].End(xlUp).Row For Each c In Range("b1:" & [b65536].End(xlUp).Address) If c.Offset(0, -1) = Cells(i, 5) Then _ Cells(i, 256).End(xlToLeft).Offset(0, 1) = c Next c Next i Range("F2:IV10000").NumberFormat = "m/d/yyyy"
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
Papyjac
Bonjour lebaud
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la fin :
Dim T1_nom(1000) 'Nom des personnes Dim T1_nbD(1000) 'Nombre d'achats Dim T1_Date(1000,100) 'Dates d'achat DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire For L = 2 to 10000 if isempty(cells(L, 1)) then exit for 'Fin de la liste For I = 1 to T1_nb 'Rechercher le nom if cells(L, 1)) = T1_nom(I) then goto S1 Next T1_nb=T1_nb+1 'Nouveau nom I=T1_nb T1_nom(I)= cells(L,1) S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date T1_Date(I,T1_nbD(I))= cells(L,2) next
'Vider la mémoire L=Lignedébut For I = 1 to T1_nb Cells(L,1) = T1_Nom(I) C=1 For J = 1 to T1_nbD(I) C=C+1 Cells(L,C) = T1_Date(I,J) Next Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de news:
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
Bonjour lebaud
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la fin
:
Dim T1_nom(1000) 'Nom des personnes
Dim T1_nbD(1000) 'Nombre d'achats
Dim T1_Date(1000,100) 'Dates d'achat
DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire
For L = 2 to 10000
if isempty(cells(L, 1)) then exit for 'Fin de la liste
For I = 1 to T1_nb 'Rechercher le nom
if cells(L, 1)) = T1_nom(I) then goto S1
Next
T1_nb=T1_nb+1 'Nouveau nom
I=T1_nb
T1_nom(I)= cells(L,1)
S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date
T1_Date(I,T1_nbD(I))= cells(L,2)
next
'Vider la mémoire
L=Lignedébut
For I = 1 to T1_nb
Cells(L,1) = T1_Nom(I)
C=1
For J = 1 to T1_nbD(I)
C=C+1
Cells(L,C) = T1_Date(I,J)
Next
Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de
news:eQhTPaE1IHA.1572@TK2MSFTNGP05.phx.gbl...
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la fin :
Dim T1_nom(1000) 'Nom des personnes Dim T1_nbD(1000) 'Nombre d'achats Dim T1_Date(1000,100) 'Dates d'achat DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire For L = 2 to 10000 if isempty(cells(L, 1)) then exit for 'Fin de la liste For I = 1 to T1_nb 'Rechercher le nom if cells(L, 1)) = T1_nom(I) then goto S1 Next T1_nb=T1_nb+1 'Nouveau nom I=T1_nb T1_nom(I)= cells(L,1) S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date T1_Date(I,T1_nbD(I))= cells(L,2) next
'Vider la mémoire L=Lignedébut For I = 1 to T1_nb Cells(L,1) = T1_Nom(I) C=1 For J = 1 to T1_nbD(I) C=C+1 Cells(L,C) = T1_Date(I,J) Next Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de news:
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
lebaud
Merci pour vos pistes, je vais tester
"Papyjac" <papyjac(supprimerceci)@free.fr> a écrit dans le message de news:
Bonjour lebaud
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la fin :
Dim T1_nom(1000) 'Nom des personnes Dim T1_nbD(1000) 'Nombre d'achats Dim T1_Date(1000,100) 'Dates d'achat DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire For L = 2 to 10000 if isempty(cells(L, 1)) then exit for 'Fin de la liste For I = 1 to T1_nb 'Rechercher le nom if cells(L, 1)) = T1_nom(I) then goto S1 Next T1_nb=T1_nb+1 'Nouveau nom I=T1_nb T1_nom(I)= cells(L,1) S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date T1_Date(I,T1_nbD(I))= cells(L,2) next
'Vider la mémoire L=Lignedébut For I = 1 to T1_nb Cells(L,1) = T1_Nom(I) C=1 For J = 1 to T1_nbD(I) C=C+1 Cells(L,C) = T1_Date(I,J) Next Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de news:
client date d'achat1 date d'achat 2 date d'achat n dupont 01012008 01072008 01102008 durand 01012008 01072008 01112008
quel serait le meilleur moyen d'obtenir ce type de resultat ? Merci d'avance
Merci pour vos pistes, je vais tester
"Papyjac" <papyjac(supprimerceci)@free.fr> a écrit dans le message de news:
E5B3425F-5298-48CD-AA9F-4630ADA67332@microsoft.com...
Bonjour lebaud
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la
fin :
Dim T1_nom(1000) 'Nom des personnes
Dim T1_nbD(1000) 'Nombre d'achats
Dim T1_Date(1000,100) 'Dates d'achat
DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire
For L = 2 to 10000
if isempty(cells(L, 1)) then exit for 'Fin de la liste
For I = 1 to T1_nb 'Rechercher le nom
if cells(L, 1)) = T1_nom(I) then goto S1
Next
T1_nb=T1_nb+1 'Nouveau nom
I=T1_nb
T1_nom(I)= cells(L,1)
S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date
T1_Date(I,T1_nbD(I))= cells(L,2)
next
'Vider la mémoire
L=Lignedébut
For I = 1 to T1_nb
Cells(L,1) = T1_Nom(I)
C=1
For J = 1 to T1_nbD(I)
C=C+1
Cells(L,C) = T1_Date(I,J)
Next
Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de
news:eQhTPaE1IHA.1572@TK2MSFTNGP05.phx.gbl...
"Papyjac" <papyjac(supprimerceci)@free.fr> a écrit dans le message de news:
Bonjour lebaud
Moi je ne me casse plus tête, je stocke tout en mémoire, et je vide à la fin :
Dim T1_nom(1000) 'Nom des personnes Dim T1_nbD(1000) 'Nombre d'achats Dim T1_Date(1000,100) 'Dates d'achat DimT1_nb ' Nombre de personnes
'Pour toutes les lignes => Charger en mémoire For L = 2 to 10000 if isempty(cells(L, 1)) then exit for 'Fin de la liste For I = 1 to T1_nb 'Rechercher le nom if cells(L, 1)) = T1_nom(I) then goto S1 Next T1_nb=T1_nb+1 'Nouveau nom I=T1_nb T1_nom(I)= cells(L,1) S1: T1_nbD(I)=T1_nbD(I)+1 'Nouvelle date T1_Date(I,T1_nbD(I))= cells(L,2) next
'Vider la mémoire L=Lignedébut For I = 1 to T1_nb Cells(L,1) = T1_Nom(I) C=1 For J = 1 to T1_nbD(I) C=C+1 Cells(L,C) = T1_Date(I,J) Next Next
On peut si on veut dédoublonner les dates d'achats
"lebaud" <lbaudin%@%fnac.net> a écrit dans le message de news: