J'ai un problème avec mon instruction Do While : HELP!!! :)

Gwendoline

XLDnaute Junior
Bonjour à tous,

je cherche mon héros, je suis épuisée; Un ancien collègue m'a laissé un fichier et je ne sais plus comment le faire fonctionner. Je suis épuisée.

Qui peut m'expliquer ou trouver mon problème svp:
Etape 1, choisir le fichier
Etape 2, la période

Et il plante à l'étape une sur l'instruction suivante :
Do While Sheets("Base Déchets").Cells(i, 1) <> ""
If Sheets("Base Déchets").Cells(i, 3) = "O" And _
Sheets("Base Déchets").Cells(i, 4) = "N" Then

Merci pour votre aide, je n'en peut plus!
 

Pièces jointes

  • Abonnements working2.zip
    21.8 KB · Affichages: 28

Modeste

XLDnaute Barbatruc
Re : J'ai un problème avec mon instruction Do While : HELP!!! :)

Bonsoir Gwendoline,

Il aurait été intéressant que tu expliques un peu ce que la macro est présumée réaliser ... "planter le décor", pour ne pas qu'on parte à l'aveuglette :rolleyes:
Préciser dans quel cas de figure ça plante ne serait pas inutile non plus!

En attendant plus de précision, dans la partie "SECU:", tes variables i et j ne sont pas initialisées ... et valent donc 0, quand tu écris 'Cells(i, 1)' par exemple

Edit: bonsoir néné06
 

Gwendoline

XLDnaute Junior
Re : J'ai un problème avec mon instruction Do While : HELP!!! :)

Bonsoir Gwendoline,

Il aurait été intéressant que tu expliques un peu ce que la macro est présumée réaliser ... "planter le décor", pour ne pas qu'on parte à l'aveuglette :rolleyes:
Préciser dans quel cas de figure ça plante ne serait pas inutile non plus!

En attendant plus de précision, dans la partie "SECU:", tes variables i et j ne sont pas initialisées ... et valent donc 0, quand tu écris 'Cells(i, 1)' par exemple

Edit: bonsoir néné06

Bonjour,

C'est vrai que sans explication c'est un peu compliqué :).
Le but est qu'à chaque fois que je lance la macro, elle me demande quel type de base (déchet ou sécurité) j'utilise.
Ensuite elle me demande la période concernée (1 à 12).
Elle va sur le fichier de base, prend les informations sur la colonne de la periode.

Il prépare en gros mon fichier d'importation pour une saisie pour tous les codes restaurant. Pour info, i = à la 1re ligne des restaurants du fichier de base soit la ligne 7. Et j = à la 1re ligne des restaurants du fichier sheet1 soit la ligne 9.

Apres le résultat est sur l'onglet sheet1 comme ceci :

Compte Montant Libellé
79006002.6695.004 101 BUDGET DECHET M1
79006002.2746.006 -101 BUDGET DECHET M1
79011001.6695.004 102 BUDGET DECHET M1
79011001.2746.006 -102 BUDGET DECHET M1
Etc…
 

Modeste

XLDnaute Barbatruc
Re : J'ai un problème avec mon instruction Do While : HELP!!! :)

Bonjour Gwendoline, néné06 (décidément, je suis toujours "un peu tard" :eek:),

Dans le code, quand tu écris:
Code:
If abo = 1 Then GoTo DECHET Else
If abo = 2 Then GoTo SECU Else
(il faudra s'interroger sur l'intérêt du "Else" indiqué comme ça :confused:) Bref, lorsque tu écris ça, tu demandes à ton programme de se "brancher" sur DECHET: ou SECURITE: Les instructions qui suivent ton Goto ne sont donc pas exécutées à ce moment (initialisation des variables i=7 et j=9)
L'instruction
n=inputbox ....
n'est, quant à elle, exécutée que si abo ne vaut ni 1, ni 2!
Je te propose donc de supprimer ces trois lignes de leur emplacement actuel et de les ajouter dans la partie DECHET: et dans la partie SECURITE:

Quant à dire si ce qui s'exécute, une fois ces modifications effectuées, a du sens ... il n'y a que toi qui puisse le dire ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 308
Messages
2 087 105
Membres
103 469
dernier inscrit
Thibz