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 4 années et 5 mois.
-
AuteurMessages
-
13 août 2020 à 13 h 36 min #75950PimpinParticipant
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 SubPouvez-vous m’aider svp ?
14 août 2020 à 9 h 18 min #75979Stéphane LorinParticipantBonjour
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 tableje 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
15 août 2020 à 4 h 38 min #76024LionelParticipantSalut 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.15 août 2020 à 16 h 55 min #76121PimpinParticipantBonsoir Stéphane,
Voici le petit fichier demandé avec les explications.
Cordialement
Attachments:
You must be logged in to view attached files.15 août 2020 à 16 h 56 min #76123PimpinParticipantRe QUESTVBA
Voici le petit fichier demandé avec les explications.
Cordialement
Attachments:
You must be logged in to view attached files.16 août 2020 à 14 h 01 min #76155LionelParticipantHello 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.16 août 2020 à 15 h 49 min #76157PimpinParticipantRe
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. -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.