vb 6.3 (xl2002) qui pourrait m'aider à rédiger ma macro svp...
2 réponses
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 !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <xavpazzi@discussions.microsoft.com> a écrit dans le message de
news: 12212D46-4437-4F7C-ACE6-10BB12AFB6D3@microsoft.com...
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 !
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
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
"xavpazzi" <xavpazzi@discussions.microsoft.com> a écrit dans le message de
news:12212D46-4437-4F7C-ACE6-10BB12AFB6D3@microsoft.com...
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
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