récupérer des données selon certaines conditions

borymat

XLDnaute Nouveau
besoin d'aide : récupérer des données selon certaines conditions

bonjour, j'ai un soucis (comme beaucoup de gens qui post ici lol) avec excel!

voila, je voudrais récupérer des données dans un tableau feuille 1 et les copiées dans un tableau feuille 2. deja la je ne sais pas comment faire ;)

ensuite, la suite du problème, je veux que les données que je récupère et que je replace apparaissent sous la forme :
"colonne A (colonne S si remplie) [colonne U]"

et enfin que ces mêmes données se classent dans différentes colonnes en fonction de où elles proviennent...

alors j'espère que je suis assez explicite, le fichier étant assez lourd, je ne peux pas le poster ici, mais je peux vous l'envoyer par mail ou autre si vous avez une idée de comment m'aider.
Je vous remercie!!

edit : j'ai enlevé énormément de données de mon tableau pour pouvoir le poster (il comporte normalement 1178 lignes, je l'ai reduit a 384!!!mais au final, je veux appliquer cette demande sur le tableu complet). J'espere que ca vous inspirera plus en le voyant directement!!!
je vais également essayer de reformer ma requete :
-voila ce tableau me permet de gerer une collection de cartes
-il y a 2 feuilles, la première es tma collection a proprement parler, la deuxieme, regroupe ce qu'il me manque!
-ce que j'aimerais que excel fasse en automatique, c'est que lorsque une certaine carte (définie par un numéro, une série, un nom, un pouvoir caché et une rareté) est en quantité 0 sur la page 1, que certaines données de cette carte soit automatiquement copié au bon endroit sur la page 2 (dans la colonne qui correspond à sa série, et classer par ordre croissant). Pour compliquer un peu l'histoire, j'aimerais que les donnés de différentes cellules de la page 1 se copie en 1 seule cellule a la page 2 suivant ce format la : "NUMERO DE CARTE (POUVOIR CACHE si remplie) [RARETE]"
et enfin, il faudrait que lorsque la carte est acquise (donc je met sa quantité a 1 ou plus) elle disparraisse de la liste de recherche.

une fois de plus je vous remercie de bien vouloir jetter un oeil e tde m'aider! bon courage a vous;):rolleyes:
 

Pièces jointes

  • Collection JCCxld.zip
    47.6 KB · Affichages: 61
Dernière édition:

Banzai64

XLDnaute Accro
Re : récupérer des données selon certaines conditions

Bonjour

Désolé avec le code je dépasse les 50 Ko

Donc je te mets ici les deux macros

La première est a coller dans le code de la feuille 'Collection'

La deuxième est à copier dans un module

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Or Target.Column <> 20 Then Exit Sub
  If Not Intersect(Range("T6:T500"), Target) Is Nothing Then
    Mise_Jour
  End If
End Sub



Code:
Option Explicit

Sub Mise_Jour()
Dim DerLig As Long
Dim FDepart As String
Dim FDesti As String
Dim J As Long
Dim Col As Integer
Dim Carte As String
Dim Recherche As String

Recherche = "1       " & "2       " & "3       " & "4       " & _
            "5       " & "6       " & "7       " & "8       " & _
            "9       " & "10      " & "Promo 1 " & "Promo 2 " & _
            "Promo 3 " & "Spéciale"
Application.ScreenUpdating = False
FDepart = "Collection"
FDesti = "Manquantes"


  Sheets(FDesti).Rows("5:100").ClearContents
  With Sheets(FDepart)
    DerLig = .Range("T65536").End(xlUp).Row
    For J = 6 To DerLig
      If .Cells(J, 20).Value = 0 Then
        Col = InStr(1, Recherche, CStr(.Cells(J, 2).Value))
        Col = Col \ 8
        Carte = .Cells(J, 1) & "(" & .Cells(J, 19) & ")" & "[" & .Cells(J, 21) & "]"
        Sheets(FDesti).Cells(65536, 1 + Col).End(xlUp).Offset(1, 0) = Carte
      End If
    Next J
  End With

  With Sheets(FDesti)
    For J = 1 To 15
    DerLig = .Cells(65536, J).End(xlUp).Row
      If DerLig > 4 Then
        .Range(.Cells(5, J), .Cells(65536, J).End(xlUp)).Sort _
            Key1:=.Cells(5, J), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
      End If
    Next J
  End With
  Application.ScreenUpdating = True


End Sub
 

borymat

XLDnaute Nouveau
Re : récupérer des données selon certaines conditions

salut, c'est nikel, c'est mieux!!!!
vraiment merci enormement c'est génial c'est excatement ce que je voulais, c'est parfait!!!
merci encore

il y a juste un soucis désolé... c'est que quand il y a pas de données (quand la carte n'existe pas encore) la macro copie toutes ces données dans la série 1 sur la feuille 2, tu penses que tu peux arranger ca?? désolé d'en demander toujours plus
 
Dernière édition:

borymat

XLDnaute Nouveau
Re : récupérer des données selon certaines conditions

exactement, il y a des cartes qui font parties des series 7, 8, 9 ou 10, qui ne sont pas encores sorties, donc la ligne est vides sauf pour la colonne carte.
sinon, il n'y a pas de bug, tout fonctionne d'enfer, sauf ce petit detail.
voila, je te remercie encore
 

Banzai64

XLDnaute Accro
Re : récupérer des données selon certaines conditions

re

Modifies la ligne comme cela

Code:
    DerLig = .Range("T65536").End(xlUp).Row
    For J = 6 To DerLig
      If [COLOR="Red"].Cells(J, 20) <> "" And [/COLOR].Cells(J, 20).Value = 0 Then

Dans ton tableau as tu 1 colonne qui est toujours renseignée, car moi je me suis basé sur ton fichier, ce qui me donnait la colonne T
Si celle-ci a des cases vides il vaut mieux que tu remplaces dans le code (au dessus) le "T65536" par "B65536" si c'est la colonne B qui est toujours renseignée
 

Banzai64

XLDnaute Accro
Re : récupérer des données selon certaines conditions

Re

Je ne comprends pas
si tu peux fournir la partie qui est recopiée alors qu'elle ne doit pas l'être
peut-être arriverrai-je à trouver ce qui cloche

Ta colonne T est bien vide (Sans chiffre) en face de la carte concernée ?

je ne dois pas voir quelque chose mais quoi ?

That is the question ?
 

Discussions similaires

Réponses
10
Affichages
270
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 310
Messages
2 087 113
Membres
103 474
dernier inscrit
taha1995