Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 extraire des données d'une feuille pour les envoyer sur une autre

cgpa

XLDnaute Occasionnel
Bonjour,
Je vous assure avoir cherché depuis ce matin une solution dans les forums et sur "google est mon ami", mais je ne parviens pas à trouver la solution.
J'aimerais récupérer sur une feuille 'facture' toutes les lignes d'une feuille 'vente' ayant la même occurence (le même numéro de commande en colonne G). C'est probablement une broutille pour celui ou celle qui s'y connait en vba, mais je débute.
J'ai allégé le fichier au maximum en supprimant toutes les macros et feuilles inutiles à la demande, pour que le fichier et la problématique soient claires.
Je pensais à un combobox ou listbox mais je n'y parviens pas car la clé primaire de la feuille 'vente' n'est pas en première colonne et le fichier est tellement complexe dans son ensemble qu'il ne m'est pas possible de modifier l'ordre des colonnes.
Le fichier joint est très allégé pour identifier le problème.
Pouvez-vous m'aider?
Merci d'avance pour votre collaboration.
 

Pièces jointes

  • test envoi données.xlsm
    18.2 KB · Affichages: 20
Solution
Bonjour @cgpa ,

Le fichier en retour avec :
  • la réécriture de la Sub mise_en_forme_tableau (module 2)
  • les explications demandées pour certaines instructions (module de la feuille "Sortie")

N'hésitez pas à demander des informations supplémentaires en cas de besoin...

cgpa

XLDnaute Occasionnel
Bonjour MaPomme ,
Effectivement, je me suis mal exprimé. Dans la version actuelle, l'importation des données se fait sur le tableau sans en changer le nombre de lignes mais en supprimant la mise en forme des cellules de destination. L'idéal serait que le nombre de lignes du tableau de la facture s'adapte au nombre de lignes concernées par le même numéro de vente, et cerise sur le gâteau que la mise en forme des cellules du tableau soit respectée. Donc s'il y a x lignes de vente, que le tableau de la facture s'adapte à ces x lignes, tout en gardant la dernière ligne des totaux et le texte qui doit venir sous le tableau de la facture. Mais est-ce possible?

Excellente journée!
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @cgpa ,

Le fichier en retour avec :
  • la réécriture de la Sub mise_en_forme_tableau (module 2)
  • les explications demandées pour certaines instructions (module de la feuille "Sortie")

N'hésitez pas à demander des informations supplémentaires en cas de besoin...
 

Pièces jointes

  • cgpa- inventaire horticulture v1.7 allégé- v(a).xlsm
    86.7 KB · Affichages: 9

cgpa

XLDnaute Occasionnel
Bonjour MaPomme ,

C'est tout simplement génial. D'abord, merci d'avoir pris le temps de trouver une solution à mon problème. Votre fichier répond parfaitement au souci rencontré. Ensuite, merci d'avoir longuement expliqué le code: je pourrai tenter de le reproduire et l'adapter sur d'autres fichiers. Ainsi par exemple, je remarque que le texte sous le tableau a disparu. Mais j'ai trouvé une solution en analysant votre code de mise en forme. Je tape le texte que je désire sur la feuille "données" en cellule A9, et j'ajoute dans le code de mise en forme de tableau:

.Cells(derlig + 2, "a") = Sheets("Données").Range("A9").Value

Ce n'est peut-être pas la solution la plus propre, mais elle fonctionne!
Je suis reconnaissant à toutes les personnes qui, comme vous, prennent du temps de façon tout à fait altruiste pour aider son prochain.
Un grand merci!

Bonne journée,
 

cgpa

XLDnaute Occasionnel
C'est une solution très propre et qui plus elle est paramétrable sans intervenir dans le code via la cellule A9 de la feuille "données"
Bonjour MaPomme,

J'ai bien avancé sur ce fichier et je tente de l'améliorer de façon à rendre l'utilisation plus facile car nous serons plusieurs à l'utiliser. Accepteriez-vous de voir s'il est possible de trouver une solution à la situation suivante?

Une fois la vente encodée sur la feuille "vente", on valide en cliquant sur le bouton de validation. Les données sont renvoyées sur la feuille 'sortie' selon votre code. C'est ok.
J'ai créé un userform qui s'ouvre en cliquant sur le bouton de validation de la vente. Les données sont toujours bien envoyées sur la feuille 'sortie' (c'est toujours OK), et l'utilité du bouton est de pouvoir choisir de revenir à l'inventaire ou créer une nouvelle vente (c'est encore ok). Mais j'aimerais :
- A partir de ce userfom avoir un bouton qui renverrait également la vente que je viens de valider directement sur la facture en appelant le code que vous avez créé (je ne trouve pas le moyen de le faire)
et
- de retour sur la feuille 'sortie', pouvoir choisir la vente à envoyer sur la facture dans une liste déroulante ou une cellule où encoder le numéro de la vente à envoyer. Ceci pour éviter le double clic et pour une plus belle présentation. J'ai pu créer une liste déroulante présentant les ventes effectuées (c'est ok) mais je ne parviens pas à lui dire d'appeler le code de renvoi vers la facture.

J'espère que je me suis bien exprimé ))

Enfin, je remarque que la formule de la colonne J de la feuille 'inventaire' renvoie une erreur si j'ajoute ou supprime des articles dans l'inventaire!? Vous avez une idée de la raison?

Je vous souhaite un excellente journée!
 

Pièces jointes

  • inventaire horticulture v1.9 allégé.xlsm
    85.7 KB · Affichages: 4

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…