Incrémentation selon variables données en VBA

Bonjour à tous !

Je cherche a créer une petite macro ou formule me permettant d'arriver au résultat sur l'Excel en PJ;

Voici l'objectif :

Sur l'onglet CATA, je renseigne les 4 colonnes puis je lance ma fameuse macro.

Dès lors, je me retrouve avec les résultats sur l'onglet PACK.

Voici la logique de l'onglet CATA :

- Les colonnes A (réf) et B (compte) sont des valeurs fixent.

- La colonne C donne une quantité maximum possible.

- La colonne D donne le poids unitaire.

Voici la logique de l'onglet PACK :

- Les colonnes A (réf) et B (compte) sont "bêtement récupérées"

- La colonne C doit s'incrémenter de 1 jusqu'à 21 pour chaque référence présentent dans l'onglet CATA (bien que dans l'exemple je ne soit aller que jusqu'à' 11)

La difficulté réside dans les colonnes D et E,

- La colonne E doit s'incrémenter de 1 jusqu'à la variable "MAX" présente dans la colonne D de l'onglet CATA, puis continuer jusqu'à un total de 21 tout en séparant chaque "quantité m" par des point virgule (Cf. fichier en exemple).

- La colonne D doit multiplier le poids unitaire par la quantité présente en colonne E, puis continuer jusqu'à un total de 21 tout en séparant chaque "poids" par des point virgule suivant le schéma suivi pour la colonne E (Cf. fichier en exemple).

Voila, ça n'a rien de sorcier mais pour moi c'est impossible... j'espère que vous saurez m'aider rapidement !

Merci par avance,

Balek

22test.xlsx (10.72 Ko)

Bonjour,

J'up le topic car toujours sans réponse.

Merci !

bonjour,

une proposition via macro (à lancer via alt-f8)

24test-62.xlsm (20.12 Ko)

Hello,

Merci mais j'ai un probleme d'execution :

pb

bonjour,

Quel message d'erreur as-tu ? As-tu modifié des données dans le classeur ? Si oui merci de mettre ton classeur, sinon je n'ai pas d'explication car cette macro fonctionne chez moi avec les données de ton fichier initial.

Bonjour Balek, h2so4 , le forum,

Aucun souci de mon côté (excel 2010)........

Cordialement,

Je n'ai fait que télécharger ton fichier pourtant...

13test-62.xlsm (20.12 Ko)

Je poste en PJ ce que j'ai téléchargé et essayé d'exécuter

Erreur d'execution '13'

Incompatibilité de type...

sur le "cold = ctrp * q"

re-bonjour,

Bien que je ne comprenne pas pourquoi cela ne fonctionne pas chez toi, voici une autre version avec typage des variables.

16test-62.xlsm (20.65 Ko)

Ok j'ai compris, ca a marché quand j'ai remplacé les "." par des "," au sein des nombres. Il faudrait que le résultat sorte avec des point et non des virgule entre les nombres à décimal.

Avez-vous une solution pour cela svp ? Je pense pouvoir le faire mais je suis nul pour faire du "beau code" VBA. Je pense bêtement a lookfor et remplacer mais y'a t-il mieux ?

Merci beaucoup, dans l'état actuelle des choses cela me sauve la vie.

re-bonjour,

si c'est le point décimal que tu veux, je te conseille de modifier la configuration de ton windows et/ou de ton excel, plutôt que de faire des pseudos corrections via VBA.

Ok je comprends.

En revanche, ta macro (la première version) semblait parfaite mais il y a un problème (cf. fichier en PJ).

Pour certaines réfs, va savoir pourquoi, il manque la virgule aléatoirement justement, et ceux sans que je ne change quoi que ce soit.

As-tu une idée du pourquoi ?

14result.xlsx (8.97 Ko)

re-bonjour,

plus que probablement lié à ta configuration des séparateurs décimaux. Donc si tu veux utiliser des points décimaux sur ton PC, vérifie ta configuration Windows et indique dans les options excel que tu veux utiliser la configuration système windows pour les séparateurs décimaux.

Ok. Je te re remercie pour ta réactivité et ton dévouement pour m'aider, tu m'as sauvé.

Bonne fin de week-end à tous !

Rechercher des sujets similaires à "incrementation variables donnees vba"