Remplir la dernière cellule non vide d'une colonne avec

18ventes-buvette.xlsm (29.34 Ko)

Je sais que le sujet a déjà été évoqué mainte fois mais je ne m'en sors pas.

Je récupère un fichier CSV sur Excel que je transforme en tableau. Ce dernier contient des données types

"numéro - Date - Produit - catégorie - prix"

Je veux récupérer dans un autre tableau (onglet "récap") le nombre de produits vendus.

Et chaque jour je souhaite refaire l'opération pour et que le résultats s'inscrivent dans la cellule suivante du tableau.

Dit comme ça s'est compliqué a comprendre alors je joint mon fichier Excel...

Le problème se trouve en fin de code VBA.

Merci par avance à ceux qui pourront m'aider.

Bonjour,

Actuellement le libellé "Eau_Pétillante" de l'onglet "Calculs" correspond à "Eau Pétillante" dans l'onglet "Récap".

Ne serait-il pas possible que les libellés des onglets "Calculs" et "Récap" soient les mêmes ou d'ajouter un index aux différents produits ?

Aucun problème pour nommer les éléments de la liste Recap comme le premier onglet.

Mai je ne vois pas où veux en venir...

Tu comprends bien qu'il est plus simple de mettre à jour l'onglet "Recap" à partir de l'onglet "Calculs" si les items sont les mêmes des deux côtés. Encore faut-il que tous les produits entrés côté "Calcul" existent côté "Récap", ce qui n'est pas le cas avec le produit "Glace_suivante" par exemple.
En fait le système à index (ou a clé) est beaucoup plus sécurisé car il offre un minimum d'intégrité référentielle. Une table est réservée aux produits et prestations, les produits et les prestations ont un n° d'index unique et côté "Calculs" comme "Récap" ont a des numéros d'index à la place des libellés.

Bonjour à tous

Avec 2019 plutôt que du VBA, il serait plus logique de traiter le csv par PowerQuery

ll suffit de stocker les csv dans un dossier et tu auras automatiquement le cumul au fil du temps

Merci pour vos réponses.

J'ai compris pour l'intérêt des noms identiques avec le système à index. Mais comme ce système m'est totalement inconnu (je vais tacher de me renseigner) j'étais parti sur une formule VBA totalement indépendante du nom d'arrivée. Je voulais récupérer l'info grâce au code : orangina = application.WorksheetFunction.SumIF (Sheets("Calculs").colunns("C:C),"orangina",Sheets("Calculs").Colunns("E:E))

Puis mettre l'info dans un cellule grâce au code (qui ne fonctionne pas) : Cells(15,Colunns.Count).End(XlToLeft)Offset(, 1).Select = Orangina

Pour PowerQuery je n'en avais jamais entendu parlé...Alors je vais fouillé un peu sur le web...

Mais quand même, maintenant que j'ai essayé avec du code, et même si c'est du bricolage, j'aimerais bien aller au bout. Donc si quelqu'un sait me le corriger, qu'il n'hésite pas surtout :)

Bonjour,

J'avance (avec de l'aide).

Je réussi à écrire le résultat dans une cellule et je fais en sorte que cela s'additionne avec le résultat précédent.

Mais je souhaiterais que le résultat se décale d'une cellule pour que je puisse retrouver jour par jour ce qui a été vendu.

Pour l'instant mon code est :

Dim Derlig&, Val As Currency
Derlig = Feuil2.Range("A" & Rows.Count).End(xlUp).Row
Derlig1 = Feuil1.Range("C" & Rows.Count).End(xlUp).Row

For j = 1 To Derlig1
For i = 1 To Derlig
If Feuil2.Range("A" & i).Value = Feuil1.Range("C" & j).Value Then
Feuil2.Range("E" & i).Value = Feuil1.Range("E" & j).Value + Feuil2.Range("E" & i).Value

J'imagine qu'il faudrait remplace le Feuil2.Range("E" par quelque chose du style Sheets("Récap").Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)

Mais je ne vois pas comment faire.

Quelqu'un pour m'aider ?

Cordialement

Rechercher des sujets similaires à "remplir derniere vide colonne"