Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2007, 13h31   #1
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
Par défaut boucle ne fonctionne pas

bonjour,

je viens de faire une boucle do loop mais elle ne fonctionne pas est ce que vous pourriez m'éclairer

merci
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub artt()
 
Dim a As Integer ' colonne tableau congés
Dim b As Integer 'ligne tableau congés
Dim c As Integer 'colonne petit tableau artt
Dim d As Integer 'ligne petit tableau artt
a = 14
b = 3
c = 14
d = 7
 
 
Do While b <> 13
    If Worksheets("fc 2007").Cells(c, d) = 1 Then
        While a <> 42
        Worksheets("fc 2007").Cells(b, a) = "r"
        a = a + 2
        Wend
    Else
        While a <> 42
        Worksheets("fc 2007").Cells(b, a) = ""
        a = a + 2
        Wend
    b = b + 1
    c = c + 1
Loop
 
End If
End Sub
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h44   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Ajoute les balises code. Sélection du code + 1 clic sur #
Pour corriger, utilise le bouton Editer en bas de la fenêtre
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h50   #3
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
excuse moi mais je ne comprend pas ton message

peux tu être plus clair

d'avance merci
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h50   #4
Expert Confirmé Sénior
 
Avatar de jacques_jean
 
Homme Jacques THERY
CBPDI(Congés Bien Payés/Durée Indéterminée)
Inscription : janvier 2006
Messages : 3 124
Détails du profil
Informations personnelles :
Nom : Homme Jacques THERY
Âge : 67
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : CBPDI(Congés Bien Payés/Durée Indéterminée)

Informations forums :
Inscription : janvier 2006
Messages : 3 124
Points : 5 452
Points : 5 452
Bonjour Fabrice44,

Vous écrivez :

Citation:
Do While b <> 13
If Worksheets("fc 2007").Cells(c, d) = 1 Then
While a <> 42
Worksheets("fc 2007").Cells(b, a) = "r"
a = a + 2
Wend

Else
While a <> 42
Worksheets("fc 2007").Cells(b, a) = ""
a = a + 2
Wend

b = b + 1
c = c + 1
Loop
Les 2 conditions sont exactement les mêmes ?
jacques_jean est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h53   #5
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Citation:
Envoyé par fabrice44
excuse moi mais je ne comprend pas ton message
peux tu être plus clair
d'avance merci
Tu dois placer ton code entre deux balises [CODE] et [/CODE]
Pour ça, quand tu rédiges ton message, tu as une icône # qui permet de le faire. Tu sélectionnes donc ton code, tu fais un clic sur l'icône et c'est tout bon.
Pour corriger ton code, tu retournes sur ton message et tu fais un clic sur "Editer"
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h54   #6
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
en fait cela dépend du contenu de ma cellule

si cell(c,d)=1 alors "r" sinon ""
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h00   #7
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
ca y est je crois avoir compris

j'ai un peu de mal pardon

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub artt()
 
Dim a As Integer ' colonne tableau congés
Dim b As Integer 'ligne tableau congés
Dim c As Integer 'colonne petit tableau artt
Dim d As Integer 'ligne petit tableau artt
a = 14
b = 3
c = 14
d = 7
 
 
Do While b <> 13
    If Worksheets("fc 2007").Cells(c, d) = 1 Then
        While a <> 42
        Worksheets("fc 2007").Cells(b, a) = "r"
        a = a + 2
        Wend
    Else
        While a <> 42
        Worksheets("fc 2007").Cells(b, a) = ""
        a = a + 2
        Wend
    b = b + 1
    c = c + 1
Loop
 
End If
End Sub
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h01   #8
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Citation:
Envoyé par Tu
je viens de faire une boucle do loop mais elle ne fonctionne pas est ce que vous pourriez m'éclairer
Ça ne nous éclaire pas beaucoup. Quel est le problème ? Qu'obtiens-tu et que souhaites-tu obtenir ? Ton code semble correct, quelle est l'erreur que tu observes ?
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h11   #9
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
le message

erreur de compilation

boucle sans do

je voudrais juste remonter au niveau de loop pour refaire une boucle
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h16   #10
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
J'ai failli te le dire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Do While b <> 13
    If Worksheets("fc 2007").Cells(c, d) = 1 Then
       do While a <> 42
            Worksheets("fc 2007").Cells(b, a) = "r"
            a = a + 2
       Loop
     Else
       Do While a <> 42
            Worksheets("fc 2007").Cells(b, a) = ""
            a = a + 2
       Loop
       b = b + 1
       c = c + 1
    endif
Loop
Ce n'est pas du basic, c'est du VBA
En fait je crois que tu avais simplement oublié le endif

Edit
Je viens de vérifier, il était simplement mal placé

PS - J'utilise toujours do While ou Do Until qui permettent tous les deux de faire un "Exit do" en cas de nécessité.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h25   #11
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
j'ai toujours un message identique

boucle sans do
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h28   #12
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
la je suis dans une boucle sans fin, je ne sais plus comment l'arreter

au secours!!!!!!!!!!!!!!!!!!!!!!!
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h30   #13
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Ctrl + Pause pour l'arrêter
Montre ton code modifié
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h33   #14
Invité régulier
 
Inscription : avril 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 44
Points : 9
Points : 9
c'est bon ca fonctionne !

je te remercie beaucoup pour ton aide
meme si je n'ai pas bien compris le coup du basic et du vba

merci à la prochaine
fabrice44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web