Un âme charitable pour m'éviter encore une nuit blanche sur cette sacée
fonction.
J'ai effectué une liste à cocher. Elle ne fonctionne que sur la première
impression cochée maiss n'enchaîne pas.
Si je ne coche pas (I45) la première, elle passe bien à ,la deuxième mais
s'arrête
Merçi d'avance
Claude
Voici l'objet du délit:
Sub Imprimer_Tout()
'
' Imprimer_Tout Macro
' Macro enregistrée le 29/06/2004 par HERRMANN
If Sheets("Impressions").Range("I45").Value = 1 Then
Sheets("Page de garde").Select
Sheets("Page de garde").Name = "Page de garde"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I46").Value = 1 Then
Sheets("Caractéristiques").Select
Sheets("Caractéristiques").Name = "Caractéristiques"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I47").Value = 1 Then
Sheets("Tableau").Select
Sheets("Tableau").Name = "Tableau"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I48").Value = 1 Then
Sheets("C=f(D)").Select
Sheets("C=f(D)").Name = "C=f(D)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I49").Value = 1 Then
Sheets("C=f(N)").Select
Sheets("C=f(N)").Name = "C=f(N)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I50").Value = 1 Then
Sheets("N=f(D)").Select
Sheets("N=f(D)").Name = "N=f(D)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I51").Value = 1 Then
Sheets("Selection Moteurs").Select
Sheets("Selection Moteurs").Name = "Selection Moteurs"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
End If
End Sub
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
Christophe CAUCHOIS
Salut Claude,
Question de logique : If (condition=vrai) effectuer le traitement ...pis c'est fini ! ElseIf (autre condition=vrai) effectuer le traitement ...pis rendez-vous au "End If" ElseIf... End if
Dans ton cas, il faut enchainer les If...End If : If (Sheets("Impressions").Range("I45").Value = 1) Then effectuer le traitement End If If (Sheets("Impressions").Range("I46").Value = 1) Then effectuer le traitement End If etc... Evidemment tu peux boucler (tu DOIS boucler ;o)) avec un "For Each" de la zone range("I45:I51") ce qui réduira nettement le nombre de lignes.
HTH
Christophe
"Claude HERRMANN" a écrit dans le message de news:40e281a3$0$317$
Bonjour,
Un âme charitable pour m'éviter encore une nuit blanche sur cette sacée fonction.
J'ai effectué une liste à cocher. Elle ne fonctionne que sur la première impression cochée maiss n'enchaîne pas. Si je ne coche pas (I45) la première, elle passe bien à ,la deuxième mais s'arrête Merçi d'avance Claude
Voici l'objet du délit:
Sub Imprimer_Tout() ' ' Imprimer_Tout Macro ' Macro enregistrée le 29/06/2004 par HERRMANN If Sheets("Impressions").Range("I45").Value = 1 Then Sheets("Page de garde").Select Sheets("Page de garde").Name = "Page de garde" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I46").Value = 1 Then Sheets("Caractéristiques").Select Sheets("Caractéristiques").Name = "Caractéristiques" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I47").Value = 1 Then Sheets("Tableau").Select Sheets("Tableau").Name = "Tableau" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I48").Value = 1 Then Sheets("C=f(D)").Select Sheets("C=f(D)").Name = "C=f(D)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I49").Value = 1 Then Sheets("C=f(N)").Select Sheets("C=f(N)").Name = "C=f(N)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I50").Value = 1 Then Sheets("N=f(D)").Select Sheets("N=f(D)").Name = "N=f(D)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I51").Value = 1 Then Sheets("Selection Moteurs").Select Sheets("Selection Moteurs").Name = "Selection Moteurs" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select End If End Sub
Salut Claude,
Question de logique :
If (condition=vrai)
effectuer le traitement
...pis c'est fini !
ElseIf (autre condition=vrai)
effectuer le traitement
...pis rendez-vous au "End If"
ElseIf...
End if
Dans ton cas, il faut enchainer les If...End If :
If (Sheets("Impressions").Range("I45").Value = 1) Then
effectuer le traitement
End If
If (Sheets("Impressions").Range("I46").Value = 1) Then
effectuer le traitement
End If
etc...
Evidemment tu peux boucler (tu DOIS boucler ;o)) avec un "For Each" de la
zone range("I45:I51") ce qui réduira nettement le nombre de lignes.
HTH
Christophe
"Claude HERRMANN" <chezclh@club-internet.fr> a écrit dans le message de
news:40e281a3$0$317$7a628cd7@news.club-internet.fr...
Bonjour,
Un âme charitable pour m'éviter encore une nuit blanche sur cette sacée
fonction.
J'ai effectué une liste à cocher. Elle ne fonctionne que sur la première
impression cochée maiss n'enchaîne pas.
Si je ne coche pas (I45) la première, elle passe bien à ,la deuxième mais
s'arrête
Merçi d'avance
Claude
Voici l'objet du délit:
Sub Imprimer_Tout()
'
' Imprimer_Tout Macro
' Macro enregistrée le 29/06/2004 par HERRMANN
If Sheets("Impressions").Range("I45").Value = 1 Then
Sheets("Page de garde").Select
Sheets("Page de garde").Name = "Page de garde"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I46").Value = 1 Then
Sheets("Caractéristiques").Select
Sheets("Caractéristiques").Name = "Caractéristiques"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I47").Value = 1 Then
Sheets("Tableau").Select
Sheets("Tableau").Name = "Tableau"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I48").Value = 1 Then
Sheets("C=f(D)").Select
Sheets("C=f(D)").Name = "C=f(D)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I49").Value = 1 Then
Sheets("C=f(N)").Select
Sheets("C=f(N)").Name = "C=f(N)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I50").Value = 1 Then
Sheets("N=f(D)").Select
Sheets("N=f(D)").Name = "N=f(D)"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
ElseIf Sheets("Impressions").Range("I51").Value = 1 Then
Sheets("Selection Moteurs").Select
Sheets("Selection Moteurs").Name = "Selection Moteurs"
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Impressions").Select
Range("A1").Select
End If
End Sub
Question de logique : If (condition=vrai) effectuer le traitement ...pis c'est fini ! ElseIf (autre condition=vrai) effectuer le traitement ...pis rendez-vous au "End If" ElseIf... End if
Dans ton cas, il faut enchainer les If...End If : If (Sheets("Impressions").Range("I45").Value = 1) Then effectuer le traitement End If If (Sheets("Impressions").Range("I46").Value = 1) Then effectuer le traitement End If etc... Evidemment tu peux boucler (tu DOIS boucler ;o)) avec un "For Each" de la zone range("I45:I51") ce qui réduira nettement le nombre de lignes.
HTH
Christophe
"Claude HERRMANN" a écrit dans le message de news:40e281a3$0$317$
Bonjour,
Un âme charitable pour m'éviter encore une nuit blanche sur cette sacée fonction.
J'ai effectué une liste à cocher. Elle ne fonctionne que sur la première impression cochée maiss n'enchaîne pas. Si je ne coche pas (I45) la première, elle passe bien à ,la deuxième mais s'arrête Merçi d'avance Claude
Voici l'objet du délit:
Sub Imprimer_Tout() ' ' Imprimer_Tout Macro ' Macro enregistrée le 29/06/2004 par HERRMANN If Sheets("Impressions").Range("I45").Value = 1 Then Sheets("Page de garde").Select Sheets("Page de garde").Name = "Page de garde" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I46").Value = 1 Then Sheets("Caractéristiques").Select Sheets("Caractéristiques").Name = "Caractéristiques" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I47").Value = 1 Then Sheets("Tableau").Select Sheets("Tableau").Name = "Tableau" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I48").Value = 1 Then Sheets("C=f(D)").Select Sheets("C=f(D)").Name = "C=f(D)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I49").Value = 1 Then Sheets("C=f(N)").Select Sheets("C=f(N)").Name = "C=f(N)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I50").Value = 1 Then Sheets("N=f(D)").Select Sheets("N=f(D)").Name = "N=f(D)" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select ElseIf Sheets("Impressions").Range("I51").Value = 1 Then Sheets("Selection Moteurs").Select Sheets("Selection Moteurs").Name = "Selection Moteurs" Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Impressions").Select Range("A1").Select End If End Sub