Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411F97F0.7E243BF2@Suppgaboly.com...
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro par
F8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution ?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
par
F8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.
Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411F97F0.7E243BF2@Suppgaboly.com...
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
par
F8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
OK Michel,
Ecore une seule question qui est vraiment celle d'un néophyte
Ma macro bloque sur :
For i = 1 To UBound(NomDeLafeuille)
Vois-tu pourquoi ?
Merci encore,
Michel,
"Michel Gaboly" a écrit dans le message de
news:Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
paspourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
lafenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
parF8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
OK Michel,
Ecore une seule question qui est vraiment celle d'un néophyte
Ma macro bloque sur :
For i = 1 To UBound(NomDeLafeuille)
Vois-tu pourquoi ?
Merci encore,
Michel,
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411FA018.543F8C5E@Suppgaboly.com...
Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.
Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411F97F0.7E243BF2@Suppgaboly.com...
Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.
Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,
sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
pas
pourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
la
fenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
par
F8
successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
OK Michel,
Ecore une seule question qui est vraiment celle d'un néophyte
Ma macro bloque sur :
For i = 1 To UBound(NomDeLafeuille)
Vois-tu pourquoi ?
Merci encore,
Michel,
"Michel Gaboly" a écrit dans le message de
news:Re,
Désolé ;-(((
Le plantage vient de le portée des 2 variables SaProprieteVisible et
NomDeLafeuille, qui sont probablement de niveau procédure :
Elles sont mise à jour dans la Sub DemasquerLesFeuillesMasquees,
mais inutilisables dans la Sub RemasquerLesFeuillesDemasquees
Il faut que tu leur doonnes une portée de niveau module (au minimum)
Pour cela, ajoute cette ligne en haut du module concerné :
Dim SaProprieteVisible(), NomDeLafeuille()
et cela fonctionnera.
Plus d'infos sur la portée ici :
http://www.gaboly.com/VBA/Portee.html
NB - Il est impératif de lancer une première fois
DemasquerLesFeuillesMasquees avant de lancer
RemasquerLesFeuillesDemasquees afin que les 2 variables soient
initialisées.
Pour la seconde question, il faut simplement redimensionner les
2 fenêtres Excel et VBA afin de pouvoir les visualiser en même temps.
Un recouvrement partiel n'est pas forcément génant si tu vois la partie
du document qui t'intéresse.Merci Michel pour ta réponse, tu as raison c'est un commentaire,
mais c'est la seconde macro qui bloque "DemasquerLesFeuillesMasquees()"
ligne: MaFeuille.Visible = SaProprieteVisible(i).
J'ai recopié les deux pour donner le contexte et cela peut interresser
quelqu'un
La réponse à la seconde question (affichage simultané de la feuille du
classeur et de la fenêtre de code )
m'interreserait également si tu as un conseil.
Michel,
"Michel Gaboly" a écrit dans le message de
news:Bonsoir,
Les 2 lignes ci-dessous
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
forment un commentaire qui était très probablement à l'origine sur
une seule ligne. Tout commentaire doit être précédé d'une apostrophe
(ou du mot-clef "Rem" qui remonte aux origines du langage Basic,
que personne ou presque n'utilise en VBA).
Si un commentaire fait + d'une ligne, il faut une apostrophe au début
de chaque ligne de commentaire.
Il faut donc enlever le retour chariot avant "SaProprieteVisible()"
pour n'avoir + qu'une ligne, ou si tu veux conserver 2 lignes, faire
précéder ce mot d'une apostrophe.
Voilà.Bonsoir à toutes et tous,
Deux questions pour ce soir.
1) Voilà , j'ai récupéré sur le forum une macro qui fait bien mon
affaire,sauf que la seconde bogue sur "SaPropriétéVisible()" et je ne vois
paspourquoi...
2) J'aimerais afficher simultanément la feuille de mon classeur et
lafenêtre de code de l'éditeur, afin de suivre l'exécution de ma macro
parF8successifs
Le menu Fenêtre ne permet pas de le faire. Y a-t-il une solution
?
Sub DemasquerLesFeuillesMasquees()
ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True
Next i
End Sub
Sub RemasquerLesFeuillesDemasquees()
For Each MaFeuille In Worksheets
For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then
MaFeuille.Visible = SaProprieteVisible(i)
Exit For
End If
Next
Next
End Sub
Merci pour tout,
Michel
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com