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

imprimer onglets si "x" devant leur non sur sommaire

5 réponses
Avatar
gilles
Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les utilisateurs ont
besoin d'imprimer ceratines pages, pas toutes et pas toujours les mêmes
je crée une page sommaire et sur la colonne B l'utilisateur met un "x"
devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance l'impression des
onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72

5 réponses

Avatar
anonymousA
bonjour,

si ta page sommaire est créée, tu liasses l'utilisateur mettre des X dans
les cases correspondantes . Tu crées un bouton sur la feuille que tu appelles
"Imprimer" et tu écris dans la procédure CLick du bouton les instructions
suivantes

for I=2 to range("A65536").end(xlup).row
if cells(I,2).value="X" then
sheets(cells(I,1).value).PrintOut
end if
next

A+


Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les utilisateurs ont
besoin d'imprimer ceratines pages, pas toutes et pas toujours les mêmes
je crée une page sommaire et sur la colonne B l'utilisateur met un "x"
devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance l'impression des
onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72


Avatar
Ellimac
Bonjour,

Sub Toto()
Sheets(1).Activate
For cpt = 0 To Application.CountA(Columns(1)) - 1
If Range("a1").Offset(cpt, 1) = "x" Then
Sheets(cpt + 1).PrintOut
End If
Next
End Sub

Camille

-----Message d'origine-----
Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les
utilisateurs ont

besoin d'imprimer ceratines pages, pas toutes et pas
toujours les mêmes

je crée une page sommaire et sur la colonne B
l'utilisateur met un "x"

devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance
l'impression des

onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72
.



Avatar
gilles
bonjour à toi,
...et merci
j'ai inséré le code dans une sub normale , mais sans résultat
Est-ce nécéssaire de le mettre dans la proc click?
à+
gilles

bonjour,

si ta page sommaire est créée, tu liasses l'utilisateur mettre des X dans
les cases correspondantes . Tu crées un bouton sur la feuille que tu appelles
"Imprimer" et tu écris dans la procédure CLick du bouton les instructions
suivantes

for I=2 to range("A65536").end(xlup).row
if cells(I,2).value="X" then
sheets(cells(I,1).value).PrintOut
end if
next

A+


Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les utilisateurs ont
besoin d'imprimer ceratines pages, pas toutes et pas toujours les mêmes
je crée une page sommaire et sur la colonne B l'utilisateur met un "x"
devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance l'impression des
onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72




Avatar
gilles
bonjour camille,
merci de ton aide
j'essaie ça et je te tiens au courant
à+


Bonjour,

Sub Toto()
Sheets(1).Activate
For cpt = 0 To Application.CountA(Columns(1)) - 1
If Range("a1").Offset(cpt, 1) = "x" Then
Sheets(cpt + 1).PrintOut
End If
Next
End Sub

Camille

-----Message d'origine-----
Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les
utilisateurs ont

besoin d'imprimer ceratines pages, pas toutes et pas
toujours les mêmes

je crée une page sommaire et sur la colonne B
l'utilisateur met un "x"

devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance
l'impression des

onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72
.






Avatar
gilles
NICKELpour ton code , Camille
encore merci à vous 2
gilles


Bonjour,

Sub Toto()
Sheets(1).Activate
For cpt = 0 To Application.CountA(Columns(1)) - 1
If Range("a1").Offset(cpt, 1) = "x" Then
Sheets(cpt + 1).PrintOut
End If
Next
End Sub

Camille

-----Message d'origine-----
Bonjour à tous,
J'ai un fichier avec une trentaine d'onglets dont les
utilisateurs ont

besoin d'imprimer ceratines pages, pas toutes et pas
toujours les mêmes

je crée une page sommaire et sur la colonne B
l'utilisateur met un "x"

devant le nom des onglets qu'il souhaite imprimer
je souhaite donc écrire un code pour que la macro lance
l'impression des

onglets qui comporte un "x" devant leur nom sur la page
j'ai trouvé ce code que je voudrais adapter

Sub ListeFeuilles()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ArrFeuil = Sheets("Liste des feuilles")
ArrFeuil.Cells(1, 1).Value = "Tableau des feuilles"
For I = 2 To ActiveWorkbook.Sheets.Count
ArrFeuil.Cells(I, 1).Value = Sheets(I).Name
Next I
Application.DisplayAlerts = True
Alerte = True
Application.ScreenUpdating = True
End Sub

Si un dieu VBA a la soluce qu'il en soit béni
merci

--
gilles72
.