Extraction à l'intérieur d'une BD
chaï
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici ma question:
Dans la BD ci-dessous, je désire extraire les lignes associées aux clients ayant fait 2 achats (donc ne pas tenir compte de ceux en ayant fait 1 seul achat seulement). Par la suite, je voudrais créer une colonne intitulée même magasin avec réponse oui/non, afin de savoir si le même client a réalisé ses 2 achats dans le même # de magasin ou pas... Je ne peux pas faire le tout manuellement car j'ai plus de 4400 clients...
Merci
voici ma question:
Dans la BD ci-dessous, je désire extraire les lignes associées aux clients ayant fait 2 achats (donc ne pas tenir compte de ceux en ayant fait 1 seul achat seulement). Par la suite, je voudrais créer une colonne intitulée même magasin avec réponse oui/non, afin de savoir si le même client a réalisé ses 2 achats dans le même # de magasin ou pas... Je ne peux pas faire le tout manuellement car j'ai plus de 4400 clients...
Merci
magasin | achat | Client | ID |
---|---|---|---|
8 | 01 | 2756 | 1 |
8 | 02 | 2756 | 1 |
10 | 01 | 2758 | 2 |
4 | 01 | 2759 | 3 |
7 | 02 | 2759 | 3 |
5 | 01 | 2760 | 4 |
5 | 01 | 2761 | 5 |
6 | 02 | 2761 | 5 |
6 | 01 | 2762 | 6 |
4 | 01 | 2763 | 7 |
4 | 01 | 2764 | 8 |
4 | 01 | 2765 | 9 |
4 | 02 | 2765 | 9 |
3 | 01 | 2766 | 10 |
6 | 02 | 2766 | 10 |
8 | 01 | 2767 | 11 |
8 | 01 | 2768 | 12 |
A voir également:
- Extraction à l'intérieur d'une BD
- Télécharger simulateur de peinture intérieur gratuit - Télécharger - Divers Photo & Graphisme
- Peut on mettre une parabole à l'intérieur - Forum TV & Vidéo
- Ecran telephone cassé de l'interieur - Forum Wiko
- Logiciel aménagement intérieur gratuit - Guide
- Télécharger bd pdf gratuit sans inscription - Forum PDF
6 réponses
Bonjour ,
1- j'ai testé une modification de ton message. C'était juste pour vérifier.
Ton tableau correspond toujours?
2- Tu dis :
Soit on en tiens compte soit pas... Faut savoir.
1- j'ai testé une modification de ton message. C'était juste pour vérifier.
Ton tableau correspond toujours?
2- Tu dis :
je désire extraire les lignes associées aux clients ayant fait 2 achats (donc ne pas tenir compte de ceux en ayant fait 2)
Soit on en tiens compte soit pas... Faut savoir.
Bonjour à tous les deux
C'est clair
Une autre question. To tableau est il trié selon la colonne client comme dans ton exemple?
Cdlmnt
C'est clair
Une autre question. To tableau est il trié selon la colonne client comme dans ton exemple?
Cdlmnt
Un exemple à adapter via une macro
https://www.cjoint.com/?3CrqJnHwdxG
mes excuses (et salutations) à pijaku pour l'incruste
Cdlmnt
https://www.cjoint.com/?3CrqJnHwdxG
mes excuses (et salutations) à pijaku pour l'incruste
Cdlmnt
Bonjour merci beaucoup pour l'aide.
Cependant, j'éprouve quelques petits problèmes. Je n'arrive pas à rouler la macro. J'ai changé les constantes. Cependant si le nom de mes colonnes diffères, dois-je les changer également à droite? Ex: Const cosceauFS = 25 ' colonne achat (ici achat doit devenir sceau?)
' constantes à modifier selon ta configuration
Const FS = "BD" ' nom feuille soource
Const lidebFS = 2 ' premier ligne données
Const codebFS = 1 ' premiere colonne données
Const nbco = 37 ' nombre de colonnes tableau
Const copermisFS = 26 ' colonne client
Const cosceauFS = 25 ' colonne achat
Const FB = "Doubles abbatages seulement" ' feuille but
Const lidebFB = 2 ' premiere ligne
Const codebFB = 1 ' première colonne
Cependant, j'éprouve quelques petits problèmes. Je n'arrive pas à rouler la macro. J'ai changé les constantes. Cependant si le nom de mes colonnes diffères, dois-je les changer également à droite? Ex: Const cosceauFS = 25 ' colonne achat (ici achat doit devenir sceau?)
' constantes à modifier selon ta configuration
Const FS = "BD" ' nom feuille soource
Const lidebFS = 2 ' premier ligne données
Const codebFS = 1 ' premiere colonne données
Const nbco = 37 ' nombre de colonnes tableau
Const copermisFS = 26 ' colonne client
Const cosceauFS = 25 ' colonne achat
Const FB = "Doubles abbatages seulement" ' feuille but
Const lidebFB = 2 ' premiere ligne
Const codebFB = 1 ' première colonne
1. Je n'arrive pas à rouler la macro.
que veux tu dire par là ?
2. Cependant si le nom de mes colonnes diffères, dois-je les changer également à droite? Ex:
Const cosceauFS = 25 ' colonne achat
(ici achat doit devenir sceau?)
Non seul le n° intervient, tout ce qu'il y a après l'apostrophe est un commentaire pour éclairer le programmeur et n'est pas "vu" par vba
Par contre, dans la procedure les noms des constantes doivent aussi changer
Donc Edition puis
Remplacer coachetFS par cosceauFS et remplacer tout
que veux tu dire par là ?
2. Cependant si le nom de mes colonnes diffères, dois-je les changer également à droite? Ex:
Const cosceauFS = 25 ' colonne achat
(ici achat doit devenir sceau?)
Non seul le n° intervient, tout ce qu'il y a après l'apostrophe est un commentaire pour éclairer le programmeur et n'est pas "vu" par vba
Par contre, dans la procedure les noms des constantes doivent aussi changer
Donc Edition puis
Remplacer coachetFS par cosceauFS et remplacer tout
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai toujours le même message d'erreur: erreur d'exécution '9'. L'indice n'appartient pas à la sélection....
Quand tu obtiens ce message d'erreur, tu vérifies l'état des variables (en passant le curseur dessus)
Vérifies que les noms des feuilles sont corrects (attention aux espaces)
Envoies un extrait (50 lignes) de ton vrai ficier au format excel 2003 sur cjoint.com et joins le lien à ton prochain message
Quand tu obtiens ce message d'erreur, tu vérifies l'état des variables (en passant le curseur dessus)
Vérifies que les noms des feuilles sont corrects (attention aux espaces)
Envoies un extrait (50 lignes) de ton vrai ficier au format excel 2003 sur cjoint.com et joins le lien à ton prochain message
Je vérifie mais rien.... Peut-être verra tu une erreur:
Désolé...
Désolé...
' constantes à modifier selon ta configuration Const FS = "BD" ' nom feuille soource Const lidebFS = 2 ' premier ligne données Const codebFS = 1 ' premiere colonne données Const nbco = 37 ' nombre de colonnes tableau Const copermisFS = 26 ' colonne client Const cosceauFS = 25 ' colonne achat Const FB = "Feuil4" ' feuille but Const lidebFB = 2 ' premiere ligne Const codebFB = 6 ' première colonne Public Sub Transfert() Dim lifinFS As Long, TFS, nbliFS As Long, plageFS As Range, co As Long, liFS As Long Dim client As String, achat As Long, nbachat As Long Dim TFB, nbliFB As Long, liFB As Long Dim t As Single t = Timer lifinFS = Sheets(FS).Cells(Rows.Count, codebFS).End(xlUp).Row Set plageFS = Sheets(FS).Range(Cells(lidebFS, codebFS), Cells(lifinFS, codebFS + nbco - 1)) TFS = plageFS nbliFS = plageFS.Rows.Count nbliFB = Application.WorksheetFunction.SumIf(Columns(cosceauFS), ">=2") ReDim TFB(1 To nbliFB, 1 To nbco) liFS = 1 liFB = 1 On Error GoTo fin Do achat = TFS(liFS, cosceauFS) While achat = 1 liFS = liFS + 1 achat = TFS(liFS, cosceauFS) Wend client = TFS(liFS, copermisFS) nbachat = 1 For co = 1 To nbco TFB(liFB, co) = TFS(liFS - 1, co) Next co liFB = liFB + 1 While TFS(liFS, copermisFS) = client For co = 1 To nbco TFB(liFB, co) = TFS(liFS, co) Next co liFS = liFS + 1 liFB = liFB + 1 Wend Loop Until liFS >= nbliFS fin: Sheets(FB).Cells(lidebFB, codebFB).Resize(nbliFB, nbco) = TFB MsgBox " temps mis " & Timer - t & " sec" End Sub
1- je désire extraire les lignes associées aux clients...
Toutes les valeurs de la ligne? Le numéro de ligne? Une seule valeur le n° du client?
Autre feuille? => son nom?
Ailleurs dans la même feuille? => ou?
2- Comment le client 2756 a pu faire 1 achat puis 2 achats dans le magasin 8?
Soit il n'en a fait qu'un, soit 2, soit 3... Non?
2) En fait, dans la colonne achat on y retrouve 1 et 2 comme valeur. Le client peut avoir fait un seul achat, ex: 2758. Donc, pour ce numéro de client, on retrouve seulement une ligne associé à son numéro (avec 1 dans la colonne achat). Cependant, pour un autre client ex: 2756, on retrouve 2 lignes associées à ce numéro de client. Ainsi, il a donc fait un premier achat au magasin 8 et un second achat au magasin 8.
Ainsi, dans l'extraction le client 2758 n'apparaîtrait pas car il a fait un seul achat tandis que pour le client 2756 dans l'extraction on retrouverait les deux lignes associées à chacun de ses achats puisqu'il en a fait 2.