Arrêt de la boucle quand feuille inexistante

Emakhtila Messages postés 17 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 10 mai 2006 - 24 avril 2006 à 16:24
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 25 avril 2006 à 11:09
Bonjour

Je ne fais pas depuis bien longtemps du VB et la je bloque complètement. Voici mon problème :
Je travaille sur un programme qui me permet de récupérer dans une feuille (A) les données existantes dans d'autres feuilles (B), ces données étant calculées à partir encore d'autres feuilles (C). Chaque feuille B correspond à un groupe. Ces feuilles ont toutes le même nom (Courbe) sauf qu'à la fin il y a un chiffre pour les différencier. Au départ, je demande combien j'ai de groupes. Ce que je voudrais c'est que mon programme arrête de récupérer mes données quand il n'y a plus de feuille B. Voila ce que j'ai fait pour l'instant mais ça ne marche pas :

For J = 1 To Sheets("Courbe" & NbGpe)
For I = 3 To 65536
If Sheets("Courbe" & J).Cells(I, 1) <> "" Then
Sheets("Tous").Cells(I + 1, J) = Sheets("Courbe" & J).Cells(I, 1)
End If
If Sheets("Courbe" & J).Cells(I, 7) <> "" Then
Sheets("Tous").Cells(I + 1, 1 + J) = Sheets("Courbe" & J).Cells(I, 7)
End If
If Sheets("Courbe" & J).Cells(I, 10) <> "" Then
Sheets("Tous").Cells(I + 1, 2 + J) = Sheets("Courbe" & J).Cells(I, 10)
End If
If Sheets("Courbe" & J).Cells(I + 2, 1) = "" Then
Exit For
End If
Next I
If Not Sheets("Courbe" & J) Then Exit For
Next J

Je ne sais pas si j'ai été assez claire. Merci d'avance.

4 réponses

forum_ma Messages postés 112 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 31 juillet 2006
24 avril 2006 à 16:59
Je ne sais pas en quel version de VB tu es, mais j'imagine que lorsque la feuille n'existe pas, le programme envoie une erreur, donc si tu es en VB.net tu devrais utiliser un Try ... Catch et si tu est en VB6 utilise un on error go to ...

J'espere que cela a pu t'aidé!!
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
24 avril 2006 à 17:02
Si je comprends
bien ton problème est de stopper ta boucle.
Moi je le ferait plutot comme
ça :



For cpt = 1 to Sheets.count



If instr(1,"sheets(cpt).name","Courbe")
then



Blablabla…



End if



next




D'oh! Nuts!
Mmmmm...
DONUTS
0
Emakhtila Messages postés 17 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 10 mai 2006
25 avril 2006 à 11:06
Merci pour votre aide. Ca ne voulait pas marcher exactement mais je m'en suis inspirer et la ça marche.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
25 avril 2006 à 11:09
Peut tu mêtre ta solution et la valier (pour d'autre qui pourais avoir le même probléme)
Merci
Ravie d'avoir pue t'aider

D'oh! Nuts!
Mmmmm...
DONUTS
0
Rejoignez-nous