Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélectionner plusieurs feuilles par VBA

5 réponses
Avatar
Patrick BASTARD
Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un classeur
ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31 feuilles
journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le bienvenu.

D'avance, merci...


--
Bien cordialement,
P. Bastard

5 réponses

Avatar
anonymousA
bonsoir

Dim StrArray(1 To 28) As String


Sheets(sngArray).Select

Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
I=1
For each sh in For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
StrArray(I) = Sheets(I).Name
I=I+1
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub


Sheets(StrgArray).Select

si tu es sur qu'il y en a 28. Autrement utilises les instructions Redim
et Preserve (tu trouveras l'aide dans VBA) pour redimensionner ton tableau.

A+


Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un classeur
ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31 feuilles
journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le bienvenu.

D'avance, merci...




Avatar
anonymousA
Faut bien sur enlever de ma procédure précédente le 1er
Sheets(sngArray).Select.J'aivais oublié de le virer.

A+



bonsoir

Dim StrArray(1 To 28) As String


Sheets(sngArray).Select

Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
I=1
For each sh in For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
StrArray(I) = Sheets(I).Name
I=I+1
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub


Sheets(StrgArray).Select

si tu es sur qu'il y en a 28. Autrement utilises les instructions Redim
et Preserve (tu trouveras l'aide dans VBA) pour redimensionner ton tableau.

A+



Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un classeur
ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31
feuilles journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le bienvenu.

D'avance, merci...






Avatar
Patrick BASTARD
Bonsoir, *anonymousA*

Merci d'avoir répondu aussi vite.

Le nombre d'onglets dépend du nombre de jours du mois, et varie donc de 28 à
31.

Si la seule solution est de définir un tableau, il va bien falloir que je
m'y mette, parce que je n' y connais encore rien. (c'est l'occasion ou
jamais...)

J'avais vaguement lu quelque chose sur Redim pour redéfinir un tableau, mais
Preserve ??? Je sens que je vais devoir développer mon vocabulaire.

Encore merci du coup d'main,

Bien cordialement,

Patrick.


bonsoir

Dim StrArray(1 To 28) As String


Sheets(sngArray).Select

Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
I=1
For each sh in For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
StrArray(I) = Sheets(I).Name
I=I+1
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub


Sheets(StrgArray).Select

si tu es sur qu'il y en a 28. Autrement utilises les instructions
Redim et Preserve (tu trouveras l'aide dans VBA) pour redimensionner ton
tableau.
A+


Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un classeur
ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31
feuilles journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le
bienvenu. D'avance, merci...




Avatar
anonymousA
bon , faut que je me calme qaund j'envoie des posts. dans la procédure
que je t'ai communiquée, il y a une autre erreur. Ce n'est pas
sheets(I).name qu'il faut écrire mais sh.name.
Quant à Preserve, c'est une instruction assez facile. Pas de stress inutile.

A+


Bonsoir, *anonymousA*

Merci d'avoir répondu aussi vite.

Le nombre d'onglets dépend du nombre de jours du mois, et varie donc de 28 à
31.

Si la seule solution est de définir un tableau, il va bien falloir que je
m'y mette, parce que je n' y connais encore rien. (c'est l'occasion ou
jamais...)

J'avais vaguement lu quelque chose sur Redim pour redéfinir un tableau, mais
Preserve ??? Je sens que je vais devoir développer mon vocabulaire.

Encore merci du coup d'main,

Bien cordialement,

Patrick.



bonsoir

Dim StrArray(1 To 28) As String


Sheets(sngArray).Select

Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
I=1
For each sh in For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
StrArray(I) = Sheets(I).Name
I=I+1
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub


Sheets(StrgArray).Select

si tu es sur qu'il y en a 28. Autrement utilises les instructions
Redim et Preserve (tu trouveras l'aide dans VBA) pour redimensionner ton
tableau.
A+



Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un classeur
ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31
feuilles journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le
bienvenu. D'avance, merci...









Avatar
Patrick BASTARD
Bonsoir, *anonymousA*

Ca roule...
;-)

Encore merci.

Bien cordialement,

Patrick.


bon , faut que je me calme qaund j'envoie des posts. dans la procédure
que je t'ai communiquée, il y a une autre erreur. Ce n'est pas
sheets(I).name qu'il faut écrire mais sh.name.
Quant à Preserve, c'est une instruction assez facile. Pas de stress
inutile.
A+


Bonsoir, *anonymousA*

Merci d'avoir répondu aussi vite.

Le nombre d'onglets dépend du nombre de jours du mois, et varie donc
de 28 à 31.

Si la seule solution est de définir un tableau, il va bien falloir
que je m'y mette, parce que je n' y connais encore rien. (c'est
l'occasion ou jamais...)

J'avais vaguement lu quelque chose sur Redim pour redéfinir un
tableau, mais Preserve ??? Je sens que je vais devoir développer mon
vocabulaire. Encore merci du coup d'main,

Bien cordialement,

Patrick.



bonsoir

Dim StrArray(1 To 28) As String


Sheets(sngArray).Select

Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
I=1
For each sh in For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
StrArray(I) = Sheets(I).Name
I=I+1
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub


Sheets(StrgArray).Select

si tu es sur qu'il y en a 28. Autrement utilises les instructions
Redim et Preserve (tu trouveras l'aide dans VBA) pour
redimensionner ton tableau.
A+



Bonsoir à tous.

Je cherche à sélectionner (presque) toutes les feuilles d'un
classeur ensemble.
Avec le code ci-dessous, je les sélectionne toutes, mais une à une.
:-(

Le but est d'appliquer une correction à l'ensemble des 28 à 31
feuilles journalières, en une seule fois.

Sub selectionne()
Dim Sh As Worksheet
'Application.ScreenUpdating = False
'Application.EnableEvents = False
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
Sh.Select
End If
Next Sh
'Application.EnableEvents = True
'Application.ScreenUpdating = False
End Sub

Un p'tit coup d'main pour l'aider à corriger l'erreur serait le
bienvenu. D'avance, merci...