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

Excel Discussion :

Formule pour sortir des résultats


Sujet :

Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 16
    Points
    16
    Par défaut Formule pour sortir des résultats
    Bonjour,


    Je viens vers vous car actuellment je suis en stage de master et j'ai un gros fichier excel à trier.

    La société est une société de textile qui souhaite que je trie ces references.

    J'ai déja fais un tri avancé(+6000 ref), mais il me reste encore à créer des variations et la je bloque.



    En gros j'ai des references et si les 5 premiers chiffres de ces references sont égaux alors il s'agit du même produit, je dois donc creer un groupe auxquel j'assigne un ID.



    Si les 5 premiers chiffres ne sont pas égaux alors il ne s'agit pas du même produit.

    Donc la formule doit s'incrementer pour creer un nouvelle ID.


    J'ai essayé avec des IF et des ELSE mais ça ne fonctionne pas.

    Donc je m'en remets à vous car je suis un peu perdu

    Je ne demande pas de macher le travail juste une piste car j'ai fait une dizaine de tuto Youtube mais rien de concret (ça doit être trop simple pour être abordé)

  2. #2
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Points : 416
    Points
    416
    Par défaut
    Bonsoir,

    Je vois une solution mais en VBA, cela pose t'il un problème si vous faites le tri avec une requête VBA?

    Cordialement

    Sebing
    Débutant, j’essaie de m’améliorer en essayant d'aider sur le forum
    Merci d’être indulgent sur le code ou réponse proposé je reçois volontiers les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Absolument pas,

    Tant que cela fonctionne je prends.

    Au pire si il faut des modifs je me pencherai dessus !

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour

    Cela relève d'abord à mon sens de la conception.
    Si :
    En gros j'ai des references et si les 5 premiers chiffres de ces references sont égaux alors il s'agit du même produit, je dois donc creer un groupe auxquel j'assigne un ID.
    Je commencerais personnellement par éclater ces références sur deux colonnes (l'une avec les 5 premiers chiffres et l'autre avec le reste). Ce que te permet de faire facilement l'outil de conversion Données -->> convertir .
    Cela devrait considérablement "agiliser" ta démarche .
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 416
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 416
    Points : 16 259
    Points
    16 259
    Par défaut
    Bonjour

    Avec POwerQuery intégré à 2016, cela est faisable en quelque clic...

    Reste à déterminer la règle pour codifier l'ID du groupe : on garde les 5 premiers caractères comme ID ou bien ??????
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    Avec POwerQuery intégré à 2016, cela est faisable en quelque clic...

    Reste à déterminer la règle pour codifier l'ID du groupe : on garde les 5 premiers caractères comme ID ou bien ??????
    Bonjour,

    Je commencerai par 1 puis 2, 3 etc...

  7. #7
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par joundi Voir le message
    Absolument pas,

    Tant que cela fonctionne je prends.

    Au pire si il faut des modifs je me pencherai dessus !
    voila un code VBA à mettre dans un module que l'on peut attacher à un bouton.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Sub tri_id()
    Dim n As Long
    Dim y As Long
    Dim id_verif As Integer
    Dim id_ref_dessous As Integer
    Dim der_ligne_dessous As Long
    'fait une boucle de la ligne 4 à la dernière renseignée
    der_ligne = Range("A65536").End(xlUp).Row - 1
    For n = 4 To Range("A65536").End(xlUp).Row
        'verifie si l'ID est connu pour cette référence
     
       If IsNull(Range("B" & n)) Or Range("B" & n) = "" Then
        'passe à la réference suivante
     
            If der_lign = n Then 'verifie si c'est la dernière ligne de controlée
            'arrete la boucle
            Exit For
            Else
          'verifie les références en dessous
            For y = n + 1 To Range("A65536").End(xlUp).Row
                 id_verif = Left(Range("A" & n), 5)
                 id_ref_dessous = Left(Range("A" & y), 5)
                 If id_verif = id_ref_dessous Then
                     Range("B" & n) = id_verif
                     Range("B" & y) = id_verif
                     y = y + 1
                 End If
     
            Next y
            End If
        End If
    Next n
    End Sub
    Il faut modifier les colonnes (j'ai pris A pour les références et B pour les ID a renseigner et aussi le début du tableau (n a modifier n=4))

    Bonne soirée

    Sebing
    Débutant, j’essaie de m’améliorer en essayant d'aider sur le forum
    Merci d’être indulgent sur le code ou réponse proposé je reçois volontiers les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 416
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 416
    Points : 16 259
    Points
    16 259
    Par défaut
    RE

    Pour ma part je trouve que ce n'est pas forcément une bonne idée de donner comme ID d'un groupe une simple numérotation : si on reste en numérique, on a des ID de longueurs différentes, sans signification particulière.

    L'intérêt d'un ID n'est pas seulement d'obtenir une numérotation unique mais aussi qu'il apporte un plus en gestion et donc l'aspect "signifiant" n'est pas neutre.

    Cela ne change rien à la faisabilité PowerQuery.

    Sinon par formule, si les référence sont de même longueur et triés en colonne A de A2 à A600
    En B2 : taper 1
    En B3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A3="";"";SI(GAUCHE(A3;5)=GAUCHE(A2;5);B2;B2+1)))
    à recopier jusqu'en bas
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/08/2007, 12h30
  2. [MySQL] tableau HTML pour présentation des résultats de requêtes
    Par memel182 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/07/2006, 14h58
  3. Aide pour affichage des résultats
    Par vanou dans le forum ASP
    Réponses: 7
    Dernier message: 08/06/2006, 20h53
  4. Requete SQL probleme pour soustraire des résultats
    Par eljeje dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/04/2006, 10h34
  5. [MYSQL] sortir des résultats de plusieurs table en 1 fois
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/10/2005, 15h26

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