Do while qui n'incrémente pas

Bonjour,

suite à mon premier programme ( que certain d'entre vous ont une petite idée) j'ai un problème dans une boucle While qui me tourne pas ce que je cherche vraiment..

je m'xplique.. je cherche à ventiler, à calculer des montants via des pourcentage déja placé dans un classeur (param) multiplier par un montant qui se trouve dans un autre classeur (TRAITE 19) et poser le montant dans le même classeur ( TRAITE 19) mais dans une autre feuille ( primes par réass)

et voici le code que j'ai développé pour que ça soit plus claire

sub primes ()

Dim i as Long

Dim j as Long

dim k as Long

resultat = InputBox("l'Année de l'Arrêté", "Veuillez précisez l'année de l'arrêté")

j = 2

Workbooks("param.xlsx").Sheets("Traité 19").Activate

Do While cells(j, 1) <> ""

If cells(j, 1) = resultat Then

SCR = cells(j, 2)

SWISS = cells(j, 3)

SGKP = cells(j, 4)

PART = cells(j, 5)

XL = cells(j, 6)

HR = cells(j, 7)

SCOR = cells(j, 8)

AFR = cells(j, 9)

Coef1 = cells(j, 10)

Coef2 = cells(j, 11)

Coef3 = cells(j, 12)

Coef4 = cells(j, 13)

End If

j = j + 1

Loop

Workbooks("TRAITE 19.xlsx").Sheets("Primes").Activate

k = 4

i = 4

Do While cells(i, 1) <> ""

Cat = cells(i, 1)

prm = cells(i, 3)

Workbooks("TRAITE 19.xlsx").Sheets("Primes par Réass").Activate

If Cat = cells(k, 2) Then

cells(k, 3) = prm * SCR

cells(k, 4) = prm * SWISS

cells(k, 5) = prm * SGKP

cells(k, 6) = prm * PART

cells(k, 7) = prm * XL

cells(k, 8) = prm * HR

cells(k, 9) = prm * SCOR

cells(k, 10) = prm * AFR

cells(k, 11) = prm * Coef1

cells(k, 12) = prm * Coef2

cells(k, 13) = prm * Coef3

cells(k, 14) = prm * Coef4

Else: k = k + 1

End If

i = i + 1

Workbooks("TRAITE 19.xlsx").Sheets("Primes").Activate

Loop

End Sub

le problème c'est que ça remplis seulement la première ligne et avec des 0 seulement ..

autre chose si pouvez me montrer comment faire pour que ça soit bien présenter ( sous forme d'un tableau colorer ... ??

Merci d'avance

16doc-attach.rar (15.63 Ko)

Bonjour ,

Le code est important , mais là en l'occurence le contexte aussi ,

Ce serait bien plus facile à comprendre si l'on avait un exemple des données traitées , bien sûr tu dépersonnalise les infos confidentiels avant d'envoyer le fichier, pas besoin de 200 lignes, juste une dizaine permettant d'avoir un échantillon.

Aides toi et Excel d'aidera....

Merci de m'avoir répondu.. je vien d'attacher un rar qui contient ce que vous m'avez demandé.

dans l'attente de vous lire

Cordialement

Salut,

Les fichiers joints ne comportent pas de macro. Tu l'as placée où chez toi, ta macro ?

Ta macro jointe à ton premier message comporte des smileys. C'est pas trop pratique, en VBA.

Tu n'as pas défini la variable "resultat".

Tu la déclenche comment, ta macro ?

A te relire.

je sais pas comment faire pour attacher ma macro à ma base .. sinon le code je l'ai déja posté dans le premier message.

et pour les smiley c'est automatique lorsque mon code contient " 8 ) " ..

et pour la définision de mes varibles je les ai définies dans ma macro et j'ai oublier de le refaire dans le code que j'ai posté..

dans l'attente de vous lire.

Cordialement

Voilà,

Tu testes le concordance des catégories mais si pas ok tu changes les 2 valeurs d'ou tu ne trouves jamais rien,

Il fallait incorporer une 2 ° boucle de recherche sans changer l'élément cherché.

Enfin , si j'ai tout compris , le fichier si joint :

Je suis en 2003 donc c'est un xls

11traite.zip (14.38 Ko)

Salut, Salut,

Mieux faut se saluer deux fois que pas du tout et inutile de me remercier pour ma réponse, elle était gratuite

mehdiissam a écrit :

je sais pas comment faire pour attacher ma macro à ma base

Je ne comprends pas ce que tu veux dire. Tu ne sais pas joindre une macro à un fichier Excel ou tu ne sais pas comment joindre à ton fil sur ce Forum un fichier avec une macro ? Si c'est cette dernière possibilité, tu joins simplement à ton message un fichier Excel comportant déjà ta macro. Si possible au format .xls afin que plus d'utilisateurs puissent l'ouvrir et éventuellement t'aider.

Autrement, si c'est juste pour poster un petit bout de code - mais c'est déconseillé si l'on a pas déjà le fichier de base - tu prépares ton code sur ton fil, tu sélectionnes le passage concerné et tu cliques sur "Code" au dessus, ainsi ton code apparaîtra comme il l'est dans Visual Basic.

Exemple :

Sub Démo ()
Range ("A1") = "Youpie !"
End Sub  
mehdiissam a écrit :

..... et j'ai oublier de le refaire dans le code que j'ai posté

Ce serait quand même assez important que tu nous fournisses le code avec lequel tu travailles réellement, autrement on risque bien de travailler dans le vide.

A te relire.

Bonjour

Juste pour le fun

Salut

Misterno : Merci mon pote à première vue ça marche je vais le tester et voire ce que ça va donner..

Yvouille: Merci pour tes conseils Brother. Si le code que m'a poser Misterno ne marche pas bien je vais reposter mon code.. sinon Merci pour tous les amis

Cordialement

-- 04 Juil 2011, 03:20 --

SALUT

Misterno:

Merci mon pote ton code marche à merveille.. je te remercie du fonds du Coeur.

Banzai64 :

Merci pour ton aide mon ami et c'est pas la première fois enfaite

j'ai dû conmbiner entre vos deux code et ça marche super bien.

Merci encore une fois pour votre aide.

Rechercher des sujets similaires à "while qui incremente pas"