OVH Cloud OVH Cloud

erreur code VBA

22 réponses
Avatar
Le Surcitaire
Bonjour,


Est ce que ce code est juste car j'ai une erreur a chaque fois et je ne
vois pas pourquoi
For i = 1 To Sheets.Count
Sheets(i).Unprotect (Password = 1322)
Next
For i = 6 To 10
If Cells(i, 1).Text = "" Then Rows(i).Hidden = True
Sheets(i).Protect (Password = 1322)
Next

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

10 réponses

1 2 3
Avatar
Jean-Claude
"Le Surcitaire" a écrit dans le message de
news:
Re
J'avais compris et c'était bien le but de ma question,
Si tu as trois feuilles par exemple le i ne trouveras pas la sheets(i)
car ça commence à 6.

C'était une hypothèse




Ah bon mais alors que faire car je suis perdu :-?


Si le pb vient de là, a priori rien ne me viens spontanément à l'esprit, et
j'en suis désolé.
Mais tjrs ds ce cas de figure, ça peut te donner des idées pour agencer
différement ton classeur.
Peur être nommer les onglets TrucMuche 6, Trucmuch 7...... Trucmuche 10
Et appeller les sheets non pas par leur index mais par leur nom
sheets("Trucmuche" & i)


Avatar
Le Surcitaire
Jean-Claude a formulé ce mercredi :
"Le Surcitaire" a écrit dans le message de
news:
Re
J'avais compris et c'était bien le but de ma question,
Si tu as trois feuilles par exemple le i ne trouveras pas la sheets(i) car
ça commence à 6.

C'était une hypothèse




Ah bon mais alors que faire car je suis perdu :-?


Si le pb vient de là, a priori rien ne me viens spontanément à l'esprit, et
j'en suis désolé.
Mais tjrs ds ce cas de figure, ça peut te donner des idées pour agencer
différement ton classeur.
Peur être nommer les onglets TrucMuche 6, Trucmuch 7...... Trucmuche 10
Et appeller les sheets non pas par leur index mais par leur nom
sheets("Trucmuche" & i)


Oui cela peut etre une piste mais mes onglets sont les noms de mois
Janvier...Decembre
merci quand meme ;-)

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre



Avatar
Jean-Claude
Oui cela peut etre une piste mais mes onglets sont les noms de mois
Janvier...Decembre
merci quand meme ;-)



Et en nommant les lignes 12 à 21 si c'est là le pb
6=Janvier
7=Février
...
21=Décembre
Récupérer le nom et le transmenntre à la sheet
A+
Jc

Avatar
Le Surcitaire
Jean-Claude a exposé le 13/10/2004 :
Oui cela peut etre une piste mais mes onglets sont les noms de mois
Janvier...Decembre
merci quand meme ;-)



Et en nommant les lignes 12 à 21 si c'est là le pb
6=Janvier
7=Février
...
21=Décembre
Récupérer le nom et le transmenntre à la sheet
A+
Jc


Ce ne sont pas les lignes qui sont nommé Janvier... mais les feuilles
:o)

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre


Avatar
Le Surcitaire
Jean-Claude a émis l'idée suivante :
Salut
dans la ligne
Sheets(i).Protect (Password = 1322)
i va de 6 a 10
Est-tu sur qu'il y a le nombre de feuille necessaire
A+
Jc

"Le Surcitaire" a écrit dans le message de
news:
Bonjour,


Est ce que ce code est juste car j'ai une erreur a chaque fois et je ne
vois pas pourquoi
For i = 1 To Sheets.Count
Sheets(i).Unprotect (Password = 1322)
Next
For i = 6 To 10
If Cells(i, 1).Text = "" Then Rows(i).Hidden = True
Sheets(i).Protect (Password = 1322)
Next

Merci

-- enlever lesurcitaire
La Vie n'est rien sans la joie de vivre




En fait mon Pb est de deproteger les feuilles pour appliquer mon filtre
et de les reproteger après peu importe la procedure, j'ai fait ce que
j'ai pu avec mes modestes connaissances
:P

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre


Avatar
Michel.Pernot
Bonsoir à toi le surcitaire


ta macro de départ()
call ouvert qui te renvoi à la macro ouvert (je
te joints en exemple ce que j'ai fait pour mon
appli)
le range "MDP" est une cellule d'une feuille
cachée dans laquelle je stocke mon mot de passe.
suite de ta macro avec tes tests
...
......
en fin de test
call ferme
FIN DE TA MACRO

Sub ouvert()
Application.ScreenUpdating = False
Sheets("janvier").Unprotect
password:=Range("MDP").Value
Sheets("fevrier").Unprotect
password:=Range("MDP").Value
Sheets("mars").Unprotect
password:=Range("MDP").Value
End Sub
Sub ferme()
Application.ScreenUpdating = False
Sheets("janvier").Protect
password:=Range("MDP").Value
Sheets("fevrier").Protect
password:=Range("MDP").Value
Sheets("mars").Protect
password:=Range("MDP").Value
End Sub


ceci est ma modeste contribution, mais cela
fonctionne sans problème...bonne soirée

--
merci d'éclairer ma lanterne.
(un jour, serai Calife à la Place du Calife...)
Avatar
docm
Bonsoir Le Surcitaire.

Tu aurais plus de chance que ça fonctionne comme ceci:

For i = 1 To Sheets.Count
Sheets(i).Unprotect "1322"
For k = 6 To 10
If Cells(k, 1).Text = "" Then Rows(k).Hidden = True
Next
Sheets(i).Protect "1322"
Next


"Le Surcitaire" wrote in message
news:
Bonjour,


Est ce que ce code est juste car j'ai une erreur a chaque fois et je ne
vois pas pourquoi
For i = 1 To Sheets.Count
Sheets(i).Unprotect (Password = 1322)
Next
For i = 6 To 10
If Cells(i, 1).Text = "" Then Rows(i).Hidden = True
Sheets(i).Protect (Password = 1322)
Next

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre



Avatar
Le Surcitaire
Bonsoir Le Surcitaire.

Tu aurais plus de chance que ça fonctionne comme ceci:

For i = 1 To Sheets.Count
Sheets(i).Unprotect "1322"
For k = 6 To 10
If Cells(k, 1).Text = "" Then Rows(k).Hidden = True
Next
Sheets(i).Protect "1322"
Next


"Le Surcitaire" wrote in message
news:
Bonjour,


Est ce que ce code est juste car j'ai une erreur a chaque fois et je ne
vois pas pourquoi
For i = 1 To Sheets.Count
Sheets(i).Unprotect (Password = 1322)
Next
For i = 6 To 10
If Cells(i, 1).Text = "" Then Rows(i).Hidden = True
Sheets(i).Protect (Password = 1322)
Next

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre



cela ne marche pas j'ai maintenant une erreur Rows(k).Hidden = True ou
excel me dit qu'il n'arrive pas a determiner le hidden du range :-[

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre


Avatar
docm
Il faut informer Excel sur quelle feuille tu travailles. En ajoutant
Sheets(i). devant Cells et Rows.

If Sheets(i).Cells(k, 1).Text = "" Then Sheets(i).Rows(k).Hidden True

"Le Surcitaire" wrote in message
news:
Bonsoir Le Surcitaire.

Tu aurais plus de chance que ça fonctionne comme ceci:

For i = 1 To Sheets.Count
Sheets(i).Unprotect "1322"
For k = 6 To 10
If Cells(k, 1).Text = "" Then Rows(k).Hidden = True
Next
Sheets(i).Protect "1322"
Next


"Le Surcitaire" wrote in message
news:
Bonjour,


Est ce que ce code est juste car j'ai une erreur a chaque fois et je ne
vois pas pourquoi
For i = 1 To Sheets.Count
Sheets(i).Unprotect (Password = 1322)
Next
For i = 6 To 10
If Cells(i, 1).Text = "" Then Rows(i).Hidden = True
Sheets(i).Protect (Password = 1322)
Next

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre



cela ne marche pas j'ai maintenant une erreur Rows(k).Hidden = True ou
excel me dit qu'il n'arrive pas a determiner le hidden du range :-[

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre





Avatar
Le Surcitaire
Voici exactement le code est j'ai toujours la meme erreur
Rows(k).Hidden = True ou excel me dit qu'il n'arrive pas a determiner
le hidden du range

Private Sub UserForm_Activate()
ProgressBar1.Value = 0
Application.ScreenUpdating = False
Range("C6").Select
For i = 1 To Sheets.Count
Sheets(i).Unprotect "1322"

For k = 6 To 10
If Sheets(i).Cells(k, 1).Text = "" Then Rows(k).Hidden =
True

Next
For j = 12 To 21
If Sheets(i).Cells(j, 1).Text = "" Then Rows(j).Hidden =
True

Next
For l = 23 To 38
If Sheets(i).Cells(l, 1).Text = "" Then Rows(l).Hidden =
True

Next
Sheets(i).Protect "1322"
Next
Application.ScreenUpdating = True
Unload ProgressBar
End Sub

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre
1 2 3