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

vb 6.3 (xl2002) qui pourrait m'aider à rédiger ma macro svp...

2 réponses
Avatar
xavpazzi
bonjour,
sous vb6.3 pour excel2002, win xp home je n'arrive pas à mettre en forme une
macro, qlq'un pourrait-il me donner un coup de main, svp ?
je voudrais imprimer 1 à 10 feuilles du même classeur (nommés par exemple 1
à 10) en fonction de la valeur (1 ou 0) de 10 cellules correspondantes à
chacune des feuilles. En fait si la cellule A1 est 1 il faut imprimer sinon
on n'imprime pas la 1ère feuille, etc... pour les 10 !

Merci d'avance de votre aide,
xavier

2 réponses

Avatar
Patrice Henrio
Le plus simple dans ce cas : ouvrir un enregistrement de macro, imprimer uen
feuille, arrêter la macro, lire dans VBA (Outils, Vb) et s'en inspirer pour
la suite.

"xavpazzi" a écrit dans le message de
news:
bonjour,
sous vb6.3 pour excel2002, win xp home je n'arrive pas à mettre en forme
une
macro, qlq'un pourrait-il me donner un coup de main, svp ?
je voudrais imprimer 1 à 10 feuilles du même classeur (nommés par exemple
1
à 10) en fonction de la valeur (1 ou 0) de 10 cellules correspondantes à
chacune des feuilles. En fait si la cellule A1 est 1 il faut imprimer
sinon
on n'imprime pas la 1ère feuille, etc... pour les 10 !

Merci d'avance de votre aide,
xavier



Avatar
Clive Lumb
"xavpazzi" a écrit dans le message de
news:
bonjour,
sous vb6.3 pour excel2002, win xp home je n'arrive pas à mettre en forme


une
macro, qlq'un pourrait-il me donner un coup de main, svp ?
je voudrais imprimer 1 à 10 feuilles du même classeur (nommés par exemple


1
à 10) en fonction de la valeur (1 ou 0) de 10 cellules correspondantes à
chacune des feuilles. En fait si la cellule A1 est 1 il faut imprimer


sinon
on n'imprime pas la 1ère feuille, etc... pour les 10 !

Merci d'avance de votre aide,
xavier




Voici deux exemples

Sub Imprimer1()
' Imprime toutes les feuilles d'un classeur s'il y la valeur
' 1 dans la cellule A1 de la feuille

Dim Feuille As Excel.Worksheet
For Each Feuille In Application.Sheets
Feuille.Select
If Feuille.Range("A1").Value = 1 Then
Application.ActivePrinter = "HP DeskJet 890C sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"HP DeskJet 890C sur Ne04:", Collate:=True

End If
Next
End Sub

Sub Imprimer2()
' Imprime toutes les feuilles d'un classeur
' si leur nom commence avec "P" (ex P1, P2..)
' et si la cellule correspondante de la feuille
' "FeuilleControle" contient un "1"

Dim FeuilleControle As Excel.Worksheet
Dim Feuille As Excel.Worksheet
Dim Ligne As Integer
Set FeuilleControle = Application.ActiveWorkbook.Sheets("FeuilleControle")
' Les valeurs de contrôle sont dans la colonne A
' Ligne 1 = Feuille P1 etc.

For Each Feuille In Application.Sheets
Feuille.Select
' On vérifie si le nom de la feuille commence avec un "P"
If Left$(Feuille.Name, 1) = "P" Then
'On cherche le numéro
Ligne = Val(Right$(Feuille.Name, Len(Feuille.Name) - 1))
'On regarde s'il y a un "1" dans la feuille de contrôle
If FeuilleControle.Cells(Ligne, 1).Value = 1 Then
Application.ActivePrinter = "HP DeskJet 890C sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter: _
"HP DeskJet 890C sur Ne04:", Collate:=True
End If
End If
Next
End Sub


Clive