Condition dans un do while qui plante

pierre@

XLDnaute Nouveau
Bonjour à tous!

je suis un peu ennuyé, je ne comprend pas mon erreur , j'ai une condition dans un while qui retourne

"lindice n'appartient pas à la selection"

Je précise que mon classeur possède deux feuilles.

voici le bout de code


Code:
    i=1
    Sheets(i).Range("A1" ) = Sheets(i + 1).Name
    Sheets(i + 1).Range("A1" ) = "coucou"
    Do While ((i <= Sheets.Count()) And (a <> Sheets(i).Name))
        i = i + 1
    Loop



ce qui est bizarre c'est que les instructions 2 et 3 au dessus fonctionnent et c'est celle là qui plante :

Code:
a <> Sheets(i).Name



Auriez vous une idée? Merci!
 

jojo3008

XLDnaute Junior
Re : Condition dans un do while qui plante

hello,
possible d avoir le code en entier ? parce que je vois pas pourquoi ces deux lignes sont hors de ta boucle :
Code:
Sheets(i).Range("A1" ) = Sheets(i + 1).Name
    Sheets(i + 1).Range("A1" ) = "coucou"

a toute
 

pierre@

XLDnaute Nouveau
Re : Condition dans un do while qui plante

en fait c'était pour vérifier si ça marchait bien, c'est juste un test, mais j'ai compris pourquoi, en fait arrivé à i=3 (je n'ai que 2 feuille) le while vérifie les deux conditions alors que la première est fausse et que c'est un AND ce qui est con! (différent en C) donc comment faire pour que le while ne vérifie pas la deuxième? je suis obligé de faire un truc du genre ?

Code:
while(indice <nbfeuille)
if(feuille n° indice = "blabla")
sortir du while
endif
indice++
endwhile
 

jojo3008

XLDnaute Junior
Re : Condition dans un do while qui plante

tu peux essayer ceci : mais je suis pas sur d avoir bien compris ce que tu veux faire avec cette procedure
Code:
    i=1
    Sheets(i).Range("A1" ) = Sheets(i + 1).Name
    Sheets(i + 1).Range("A1" ) = "coucou"
    Do While ((i <= Sheets.Count())
           If a<>Sheets(i).Name then
           i = i + 1
           End if
    Loop
voila
a toute
 

Discussions similaires

Statistiques des forums

Discussions
312 453
Messages
2 088 551
Membres
103 881
dernier inscrit
malbousquet