OVH Cloud OVH Cloud

Pd de boucle et IF

3 réponses
Avatar
ThierryP
Bonsoir bonsoir tout le monde !

Dans un classeur de planning, 1 feuille par mois + quelques feuilles de
synthèse, j'ai une macro qui initialise les cellules des week ends
(Etiquette de colonne = Samedi ou dimanche). Je veux que cette macro ne
s'éxécute pas sur les feuilles dont les noms sont ci-dessous, d'où ce
petit bout de code qui me paraissait tout à fait sympathique.....jusqu'à
l'éxécution !! J'ai un message "next sans for"...Donc je suppose qu'on
ne peut pas mettre un next dans un if mais alors où je peux le mettre ??
(pas de réponse désobligeante svp :-)))))

For Each c In Worksheets
If activesheets.Name = "Aide" Or activesheets.Name = "Stats" _
Or activesheets.Name = "Paramètres" Then
Next c
End If
tatata
bla bla

next


D'avance merci

@+ thierryp :-)

3 réponses

Avatar
AV
Une solution :

For Each c In Worksheets
If activesheet.Name <>"Aide" and activesheet.Name <>"Stats" _
and activesheet.Name <> "Paramètres" Then
'balabla...
End If
next

AV
Avatar
LSteph
Bonsoir Thierry,

De façon générale on referme d'abord la dernière boite ouverte
et comme ici ton if est dans la boucle
le end if doit y être aussi !
Visiblement, tu n'appelle aucune commande dans ta boucle????
ici exemple 'maroutine
Sinon en l'occurence (outre qu'en l'absence de else l'on pourrait
mettre tout sur une ligne sans end if mais pour le coup):

Sub masub()
Dim sh as worksheet
For each sh in Activeworkbook.sheets
if Not Ucase(sh.name) = "AIDE" and Not Ucase(sh.name)="STATS" then
'maroutine
end if
Next
End sub




'lSteph
"ThierryP" a écrit dans le message de
news: %
Bonsoir bonsoir tout le monde !

Dans un classeur de planning, 1 feuille par mois + quelques feuilles de
synthèse, j'ai une macro qui initialise les cellules des week ends
(Etiquette de colonne = Samedi ou dimanche). Je veux que cette macro ne
s'éxécute pas sur les feuilles dont les noms sont ci-dessous, d'où ce
petit bout de code qui me paraissait tout à fait sympathique.....jusqu'à
l'éxécution !! J'ai un message "next sans for"...Donc je suppose qu'on ne
peut pas mettre un next dans un if mais alors où je peux le mettre ?? (pas
de réponse désobligeante svp :-)))))

For Each c In Worksheets
If activesheets.Name = "Aide" Or activesheets.Name = "Stats" _
Or activesheets.Name = "Paramètres" Then
Next c
End If
tatata
bla bla

next


D'avance merci

@+ thierryp :-)


Avatar
Thierry
Waooow !
Décidément les gardiens du temple sont toujours aussi vigilants et
rapides :-))))), et les réponses paraissent tellement évidentes quand on
les lit !! Un jour peut-être moi aussi .......

Merci pour vos réponses !

@+ thierryp :-)))

Bonsoir bonsoir tout le monde !

Dans un classeur de planning, 1 feuille par mois + quelques feuilles de
synthèse, j'ai une macro qui initialise les cellules des week ends
(Etiquette de colonne = Samedi ou dimanche). Je veux que cette macro ne
s'éxécute pas sur les feuilles dont les noms sont ci-dessous, d'où ce
petit bout de code qui me paraissait tout à fait sympathique.....jusqu'à
l'éxécution !! J'ai un message "next sans for"...Donc je suppose qu'on
ne peut pas mettre un next dans un if mais alors où je peux le mettre ??
(pas de réponse désobligeante svp :-)))))

For Each c In Worksheets
If activesheets.Name = "Aide" Or activesheets.Name = "Stats" _
Or activesheets.Name = "Paramètres" Then
Next c
End If
tatata
bla bla

next


D'avance merci

@+ thierryp :-)