Trier des données sur une facture en VBA

Accueil – Le CFO masqué Forums VBA Trier des données sur une facture en VBA

  • Ce sujet contient 6 réponses, 3 participants et a été mis à jour pour la dernière fois par Pimpin, le il y a 3 années et 8 mois.
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Articles
  • #75950
    Pimpin
    Participant

    Bonjour,

    J’ai réalisé une facture avec les colonnes suivantes :

    REFERENCE, DESIGNATION, QUANTITE, PRIX.

    En tapant la référence une RECHERCHEV me récupère la DESIGNATION.

    Maintenant je voudrais qu’un tri automatique se fasse par ordre croissant
    à chaque chaque nouvelle REFERENCE validée.

    J’ai tapé ce code mais ça ne fonctionne pas :

    Private Sub WorkSheet_Change (Byval Target as Range)

    If Target.Column = 4 Then
    Range (“B3:E10”).Sort Key1:=Range(“B3”), Order1:=xlAscending
    End If
    End Sub

    Pouvez-vous m’aider svp ?

    #75979
    Stéphane Lorin
    Participant

    Bonjour
    Votre question n’est pas très précise : dans quelle plage se trouve vos données ? Un petit fichier exemple pourrait aider.

    En tout cas, je viens de tester votre code :
    Avec en B2:E2 les titres REFERENCE, DESIGNATION, QUANTITE, PRIX.
    et la plage B3:E10 en plage normale, pas en tableau.
    les désignations et les prix des colonnes C et E sont des RECHERCHEV sur une autre table

    je saisie une référence en colonne B, puis une quantité en colonne D. A ce moment là, un tri est effectué suivant l’ordre croissant des références de la colonne B

    cela fonctionne également si la plage B3:B10 est un tableau (avec les titres en ligne 3)

    Stéphane

    #76024
    Lionel
    Participant

    Salut Pimpin,
    La question n’est pas assez précise (c’est vrai qu’un petit fichier aide). Nous devons savoir comment tes données sont situées sur ta feuille, si tu utilises un tableau structuré (ce qui ne semble pas le cas), comment tu veux que le tri s’effectue, à quel moment, si tu utilises une autre feuille pour faire de l’encodage…
    Je te propose ceci :
    1. Mes données sont dans un tableau structure ‘Tableau1’
    2. Mes données sont dans les colonnes A – B – C – D.
    3. Le code réagit quand tu modifies la colonne D.

    Private Sub WorkSheet_Change(ByVal Target As Range)
    
    If Target.Column = 4 Then
      NomTableau = "Tableau1"
      Range(NomTableau).Sort key1:=Range(NomTableau & "[REFERENCE]"), Header:=xlYes, _
        Order1:=xlAscending
    
    End If
    End Sub
    Attachments:
    You must be logged in to view attached files.
    #76121
    Pimpin
    Participant

    Bonsoir Stéphane,

    Voici le petit fichier demandé avec les explications.

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    #76123
    Pimpin
    Participant

    Re QUESTVBA

    Voici le petit fichier demandé avec les explications.

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    #76155
    Lionel
    Participant

    Hello Pimpin,
    Tu parles dans le titre de ton post : tri de données sur facture. Mais ce que tu envoies ni ressemble guère. Est-ce un autre sujet surtout en voyant le fichier que tu joins. J’ai un peu de mal.
    Ensuite, nous sommes en présence d’un grand péché : sur un même onglet, faire de l’encodage, de la vérification de données et en plus de la visualisation. Tu y gagnerais en créant un onglet pour l’encodage et la vérification avant validation, un onglet pour garder ta db, un onglet pour la visualisation. Sinon, cela va vite devenir ingérable.

    #76157
    Pimpin
    Participant

    Re

    Tu m’as demandé un petit fichier pour mieux comprendre ce que je voulais exactement parce que je n’étais pas assez clair.
    C’est ce que j’ai fait en fournissant les explications avec.
    Je pense que maintenant tu as compris mes attentes.
    Ne te focalise pas sur le mot facture, seul le résultat du tri compte.
    Peu importe le document.
    Merci bien.

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.