IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA interroger le contenu d'un cellule pour trier en un nouveau tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut VBA interroger le contenu d'un cellule pour trier en un nouveau tableau
    Bonjour à toutes et a tous,
    Je suis nouveau sur ce site, je me suis inscrit car j'ai vu des commentaires très pertinents de la part des utilisateurs, et je pense que mon sujet ne vous posera aucun soucis pour le résoudre.

    je vous expose mon problème : Je travail actuellement sur un fichier Excel (extrait de SAP qui est le logiciel utilisé en interne dans mon entreprise), qui liste touts les composants disponibles au magasin (reserve de pièces), avec la ref, la nature du produit, la quantité, l'avéole (emplacement sur le palettier).. etc
    Je doit repérer les pièces immobiles depuis un an, et donc à écarter.
    J'ai donc crée une macro qui relève les pièces immobiles depuis la date entrée par l'utilisateur, et qui les copie dans un second onglet ("RESULTAT") de mon classeur Excel, avec la ref, la désignation, la quantité et l'emplacement.

    Par la suite je souhaite trier ces composants selon la marque (Peugeot, Renault, Citroën) et selon leur nature (carter, mousse, coiffe ...)
    Pour ce faire j'ai a ma disposition, dans un onglet ("DONNEES"), 2 tableaux, avec la correspondance des différents nom de véhicules (ex : X70 (A1) = RENAULT (A2) = MASTER (A3)) et celle des différentes désignations possibles ex : CFF (A5) = coiffe (A6), ou C (B5) = coiffe (B6), ou encore Coiffe (C5) = coiffe (C6) et ainsi de suite.

    Je désire donc, a partir de l'onglet RESULTAT, pouvoir cliquer sur le bouton 'TRI' et qu'il m'ordonne les réf trouvées. Ainsi la macro va devoir prendre caque ligne une par une, et interroger la désignation pour avoir le véhicule (et donc la marque) ainsi que la famille de produits.

    exemple de désignation CFFDAR 2/3 SAL CU TEPA7
    = coiffe dossier arrière 2/3 tissu s'appelant "SAL CU TEP" du véhicule A7 (Peugeot 206)
    Auriez vous des pistes ?
    Je pense utiliser une boucle DO UNTIL is EMPTY
    ref / designation / quantité / quantité / autre produit ?
    (la dernière colonne permet de savoir si il y a un autre produit dans l'avéole, bon a savoir si on doit sortir des pièces, pour ne pas jeter des pièces utiles)

    Do until isempty(cells(ligne,2))


    Ici je dois interroger la designation sachant que j'ai ma base de donnée dans un autre onglet ("DONNEES")

    Ensuite j'aimerais avoir dans un autre onglet ("RESULTAT TRIES") un tableau avec les infos ordonnées
    PSA / coiffes (avec qté de produits et qté d'avéoles immobilisée) - carters (avec qtés) - mousses (avec qtés) - divers (avec qtés)
    Renault idem
    Citroen idem


    Ligne = ligne + 1
    Loop

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Peut-être que cette contribution (fonction de tri 2003-2007) pourra t'aider
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut
    Merci pour l'interêt porté a mon pb,

    Cependant cela ne répond pas à la question :

    Comment savoir si X70 par exemple est présent dans la cellule ?

    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Je n'ai pas tout suivi mais, si tu veux savoir si une cellule contient "X70", voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test_x70()
    With Worksheets("feuil1")
        For i = 1 To .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
            If Range("A1").Offset(i, 0).Value = "X70" Then
                'Fais ce que tu as envie de faire
            End If
        Next i
    End With
    End Sub
    Sur toutes les lignes, jusqu'à la dernière non vide de la colonne A, tu cherches "X70" et tu fais ce que tu souhaites après.

    Question "X70" est seul ou peut être de la forme "toto X70 quelquechose" ?

    Si tu as plusieurs valeurs à trier, tu les places dans un tableau et tu fais une recherche par rapport à ce tableau et non plus, en brut, le nom "X70" que j'ai mis.

Discussions similaires

  1. [VBA]Copier le contenu d'une cellule x fois selon x
    Par fixou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/04/2007, 23h58
  2. recuperer contenu d'une cellule pour enregistrement
    Par pombela dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/03/2007, 15h33
  3. [VBA-E]Récuperer contenu d'1 cellule d'1 classeur a l'autre
    Par fabremel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/03/2006, 16h09
  4. [VBA-E]comparer contenu textbox et cellule
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 21/02/2006, 12h43
  5. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo