begin process at 2008 08 22 06:23:53
1 229 780 membres
51 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Arrêt de la boucle quand feuille inexistante [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Emakhtila)

Arrêt de la boucle quand feuille inexistante le 24/04/2006 16:24:55

Emakhtila

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.


Re : Arrêt de la boucle quand feuille inexistante le 24/04/2006 16:59:16

forum_ma
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é!!

Re : Arrêt de la boucle quand feuille inexistante le 24/04/2006 17:02:22

Polack77
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

Re : Arrêt de la boucle quand feuille inexistante le 25/04/2006 11:06:22

Emakhtila
Merci pour votre aide. Ca ne voulait pas marcher exactement mais je m'en suis inspirer et la ça marche.

Re : Arrêt de la boucle quand feuille inexistante le 25/04/2006 11:09:14

Polack77
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


Classé sous : end, feuille, cells, courbe, sheets

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS